[LLVMdev] endian independence

Chris Lattner clattner at apple.com
Mon Oct 27 11:05:17 PDT 2008

On Oct 27, 2008, at 3:14 AM, Jay Foad wrote:

>>> I'm already working on this myself. Would you be interested in  
>>> having
>>> this work contributed back to LLVM?
>> If this were to better support target independent languages, it would
>> be very useful.  If you're just trying to *reduce* the endianness
>> assumptions that leak through, I don't think it's a good approach.
>> There is just no way to solve this problem with C.
> Yes, I can see that the llvm part of this is more straightforward and
> less controversial than the llvm-gcc part. Maybe I should submit the
> llvm part (since it applies to all source languages) and keep the
> llvm-gcc part as a local hack.

Ok, if you want to address this in LLVM, the place to start is to make  
the optimizers completely targetdata-independent.  The best way to do  
this (IMO) is to change passes to use "getAnalysisToUpdate" instead of  
"getAnalysis/AddRequired" on TargetData.  Then, change opt to only add  
targetdata to the passmgr if a target data string exists in the module.

This would make the optimizers transparently take advantage of TD when  
available, but gracefully handle the cases when it isn't.


More information about the llvm-dev mailing list