Ah, I see you have only changed long alignment when target isn't
Darwin. My mistake, this will not break Mac OS X / APCS support.
What is the default ABI for Linux? Can you experiment with gcc -mabi=
to see if this might break other ABI's?
Thanks,
Evan
On Feb 13, 2007, at 9:33 AM, Lauro Ram
Hi Evan,
I change function arguments alignment only for ELF. The code generated
for mtriple=arm-apple-darwin remains the same. For now, I am
implementing only ARM EABI. I don't have testing environment for
others ABIs. Did you found any miscompilation caused by this patch?
Lauro
2007/2/13, Evan
Hi Lauro,
This is wrong for Mac OS X. Please back out the patch until it is
fixed. Make sure you conditionalize base on the ABI of choice
Please add an ABI enum ABIType to ARMSubtarget.h and the
corresponding methods. Looking at llvm-gcc/gcc/config/arm/arm.h, I
see there are 5 ARM abi's:
Changes in directory llvm/lib/Target/ARM:
ARMISelLowering.cpp updated: 1.13 -> 1.14
ARMTargetMachine.cpp updated: 1.20 -> 1.21
---
Log message:
According to ARM EABI, 8-bytes function arguments must be 8-bytes aligned.
---
Diffs of the changes: (+53 -30)
ARMISelLowering.cpp | 79 +++