ARM function alignments were off by a power of two. svn 83242 changed

getFunctionAlignment and the corresponding use of that value in the ARM
asm printer, but now we're using the standard asm printer.  The result of
this was that function alignments were dropped completely for Thumb functions.
Radar 8143571.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107435 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bob Wilson 2010-07-01 22:26:26 +00:00
parent 5e721d7682
commit b5b5057a70
2 changed files with 7 additions and 1 deletions

View File

@ -647,7 +647,7 @@ TargetRegisterClass *ARMTargetLowering::getRegClassFor(EVT VT) const {
/// getFunctionAlignment - Return the Log2 alignment of this function.
unsigned ARMTargetLowering::getFunctionAlignment(const Function *F) const {
return getTargetMachine().getSubtarget<ARMSubtarget>().isThumb() ? 0 : 1;
return getTargetMachine().getSubtarget<ARMSubtarget>().isThumb() ? 1 : 2;
}
Sched::Preference ARMTargetLowering::getSchedulingPreference(SDNode *N) const {

View File

@ -0,0 +1,6 @@
; RUN: llc < %s -mtriple=thumb-apple-darwin | FileCheck %s
; Radar 8143571: Function alignments were off by a power of two.
; CHECK: .align 1
define void @test() {
ret void
}