[llvm-commits] CVS: llvm/lib/Target/ARM/ARMSubtarget.cpp ARMSubtarget.h ARMTargetMachine.cpp

Evan Cheng evan.cheng at apple.com
Wed Feb 14 00:00:41 PST 2007


>
> Index: llvm/lib/Target/ARM/ARMTargetMachine.cpp
> diff -u llvm/lib/Target/ARM/ARMTargetMachine.cpp:1.21 llvm/lib/ 
> Target/ARM/ARMTargetMachine.cpp:1.22
> --- llvm/lib/Target/ARM/ARMTargetMachine.cpp:1.21	Tue Feb 13  
> 08:07:13 2007
> +++ llvm/lib/Target/ARM/ARMTargetMachine.cpp	Tue Feb 13 13:52:28 2007
> @@ -34,13 +34,15 @@
>  ///
>  ARMTargetMachine::ARMTargetMachine(const Module &M, const  
> std::string &FS)
>    : Subtarget(M, FS),
> -    DataLayout(Subtarget.isTargetDarwin() ?
> +    DataLayout(Subtarget.isAPCS_ABI() ?
> +               //APCS ABI
>            (Subtarget.isThumb() ?
>             std::string("e-p:32:32-d:32:32-l:32:32-s:16:32-b:8:32-B: 
> 8:32-A:32") :
>             std::string("e-p:32:32-d:32:32-l:32:32")) :
> +               //AAPCS ABI
>            (Subtarget.isThumb() ?
> -           std::string("e-p:32:32-d:32:64-l:64:64-s:16:32-b:8:32-B: 
> 8:32-A:32") :
> -           std::string("e-p:32:32-d:32:64-l:64:64"))),
> +           std::string("e-p:32:32-d:64:64-l:64:64-s:16:32-b:8:32-B: 
> 8:32-A:32") :
> +           std::string("e-p:32:32-d:64:64-l:64:64"))),
>      InstrInfo(Subtarget),
>      FrameInfo(Subtarget) {}

Hi Lauro,

I am not sure if this is correct. Mac OS X sets i64 alignment to 8,  
but I am not sure if other OS which also uses APCS ABI has the same  
alignment requirement. I think it's possible for ARM / Linux to use  
APCS ABI as well? Is it possible for you to find out what's the long  
alignment requirement in that case?

Thanks,

Evan
>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list