[LLVMdev] Big endian ARM?

Hal Finkel hfinkel at anl.gov
Sun Jun 3 16:08:57 PDT 2012


On Sun, 03 Jun 2012 11:39:21 -0700
Chris Lattner <clattner at apple.com> wrote:

> On Jun 2, 2012, at 8:35 PM, Richard Pennington wrote:
> >> i.e. the test of the value is optimized to use a byte load, but
> >> the ldrb is done assuming a little endian address space.
> >> 
> >> I've been snooping around, but can't seem to find where the
> >> conversion to a byte operation is done. Could someone point me in
> >> the right direction?
> >> 
> > 
> > I've figured out my problem. I didn't adjust the data layout
> > description string in ARMTargetMachine.cpp for big endian targets.
> > 
> > This brings up another question. clang has its own set of
> > description strings for varying ABIs, etc. Should those strings
> > somehow override in the code generators?
> 
> The current design is that the frontend (if it attaches a TD string)
> is *required* to match the code generator:
> http://llvm.org/docs/LangRef.html#datalayout

Chris,

Do we actually verify this anywhere?

 -Hal

> 
> It is intended to allow the mid-level optimizers to know about data
> layout without having the code generator linked in (e.g. "opt").
> 
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list