[llvm-commits] [llvm] r89187 - in /llvm/trunk: include/llvm/Target/TargetInstrInfo.h lib/CodeGen/BranchFolding.cpp lib/Target/ARM/ARMBaseInstrInfo.cpp lib/Target/ARM/ARMBaseInstrInfo.h lib/Target/ARM/ARMSubtarget.cpp lib/Target/ARM/ARMSubtarget.h
Chris Lattner
sabre at nondot.org
Thu Nov 19 22:18:54 PST 2009
On Nov 19, 2009, at 4:17 PM, Evan Cheng wrote:
>
> On Nov 19, 2009, at 9:35 AM, Chris Lattner wrote:
>
>> Apologies for the last email being rambling, and in advance for this one also being rambling. :)
>>
>> My basic perspective is that I want to sink as much logic into the target-independent code as possible and have the fewest number of target hooks reasonable. This is for three reasons:
>>
>> 1. Porting to a new target is easier with fewer target hooks, and they get better codegen 'out of the box' by specifying primitives instead of having to tweak tons of knobs.
>
> That's an idealistic way of looking at it.
Yes of course. As I said, it is the guiding principle. Are you claiming that it is better to add target hooks that we don't *really need*? I'm not saying we should have no target hooks, just that we should try hard to avoid them :)
> To me, the right way to implement this is actually having even more accurate machine model.
Yes. I really don't like target hooks that "implement pieces of algorithms, like the tail dupe one does. I'm not opposed to exposing more information about the architecture.
-Chris
More information about the llvm-commits
mailing list