Adjust setjmp instruction sequence to not need 32-bit alignment padding

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2010-01-27 00:07:20 +00:00
parent 0c439eb2c8
commit c90a153ad0
2 changed files with 4 additions and 5 deletions

View File

@ -470,7 +470,7 @@ unsigned ARMBaseInstrInfo::GetInstSizeInBytes(const MachineInstr *MI) const {
case ARM::Int_eh_sjlj_setjmp:
return 24;
case ARM::tInt_eh_sjlj_setjmp:
return 22;
return 20;
case ARM::t2Int_eh_sjlj_setjmp:
return 22;
case ARM::BR_JTr:

View File

@ -820,14 +820,13 @@ let Defs =
"mov\tr12, r1\t@ begin eh.setjmp\n"
"\tmov\tr1, sp\n"
"\tstr\tr1, [$src, #8]\n"
"\tadr\tr1, 0f\n"
"\tadds\tr1, #1\n"
"\tmov\tr1, pc\n"
"\tadds\tr1, #9\n"
"\tstr\tr1, [$src, #4]\n"
"\tmov\tr1, r12\n"
"\tmovs\tr0, #0\n"
"\tb\t1f\n"
".align 2\n"
"0:\tmovs\tr0, #1\t@ end eh.setjmp\n"
"\tmovs\tr0, #1\t@ end eh.setjmp\n"
"1:", "",
[(set R0, (ARMeh_sjlj_setjmp GPR:$src))]>;
}