erichkeane added inline comments.

================
Comment at: clang/lib/CodeGen/CodeGenModule.cpp:1752
   StringRef TargetCPU = getTarget().getTargetOpts().CPU;
+  StringRef TuneCPU = getTarget().getTargetOpts().TuneCPU;
   std::vector<std::string> Features;
----------------
craig.topper wrote:
> erichkeane wrote:
> > Does this lead to a situation in 'attribute-target' where we have a 'tune' 
> > setting to a processor that is 'before' the 'TargetCPU'?  Should this 
> > enforce some sort of hierarchy to make sure we only do it if it is 'newer' 
> > (read, more feature rich) than the target?
> TuneCPU is only supposed to control microarchitectural things like should i 
> prefer an "ADD 1" over "INC" instruction. Or should I use more immediate 
> controlled shuffles over a single variable controlled shuffle. As such that 
> things we get from tune don't have a straightforward relationship with 
> architectural features.
My concern is more.  Say:

TargetCPU == "nahalem"

Does it make sense for 
TuneCPU == "pentium"?

It would seem to me that is pretty nonsensical.  I've definitely seen the 
reverse (in within x86_64 at least, where Tune is newer than Target), but 
tuning for an older CPU seems like nonsense.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85384/new/

https://reviews.llvm.org/D85384

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to