[llvm-commits] [llvm] r115130 - in /llvm/trunk/lib/Target/ARM: ARMInstrInfo.td ARMInstrThumb.td ARMInstrThumb2.td

Jim Grosbach grosbach at apple.com
Thu Sep 30 10:00:56 PDT 2010


On Sep 30, 2010, at 9:46 AM, Chris Lattner wrote:

> 
> On Sep 29, 2010, at 7:18 PM, Jim Grosbach wrote:
> 
>> Author: grosbach
>> Date: Wed Sep 29 21:18:06 2010
>> New Revision: 115130
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=115130&view=rev
>> Log:
>> Go ahead and jump!
>> 
>> Now that the MC lowering handles the expansion of the pseudos, kill the horrible
>> blobs of text.
> 
> Nice!  Since these instruction can never be asmprinted, you might as well remove the text strings completely (use ""), which will shrink the ARMAsmPrinter a tiny bit.
> 

Good point. Done in r 115160.

-Jim

> 
>> 
>> 
>> Modified:
>>   llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
>>   llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
>>   llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td
>> 
>> Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=115130&r1=115129&r2=115130&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.td Wed Sep 29 21:18:06 2010
>> @@ -2715,11 +2715,7 @@
>>  def Int_eh_sjlj_setjmp : XI<(outs), (ins GPR:$src, GPR:$val),
>>                               AddrModeNone, SizeSpecial, IndexModeNone,
>>                               Pseudo, NoItinerary,
>> -                           "add\t$val, pc, #8\t${:comment} eh_setjmp begin\n\t"
>> -                           "str\t$val, [$src, #4]\n\t"
>> -                           "mov\tr0, #0\n\t"
>> -                           "add\tpc, pc, #0\n\t"
>> -                           "mov\tr0, #1 ${:comment} eh_setjmp end", "",
>> +                            "${:comment} EH.SJLJ.SETJMP PSEUDO", "",
>>                         [(set R0, (ARMeh_sjlj_setjmp GPR:$src, GPR:$val))]>,
>>                           Requires<[IsARM, HasVFP2]>;
>> }
>> @@ -2730,11 +2726,7 @@
>>  def Int_eh_sjlj_setjmp_nofp : XI<(outs), (ins GPR:$src, GPR:$val),
>>                                   AddrModeNone, SizeSpecial, IndexModeNone,
>>                                   Pseudo, NoItinerary,
>> -                           "add\t$val, pc, #8\t${:comment} eh_setjmp begin\n\t"
>> -                           "str\t$val, [$src, #4]\n\t"
>> -                           "mov\tr0, #0\n\t"
>> -                           "add\tpc, pc, #0\n\t"
>> -                           "mov\tr0, #1 ${:comment} eh_setjmp end", "",
>> +                            "${:comment} EH.SJLJ.SETJMP PSEUDO", "",
>>                         [(set R0, (ARMeh_sjlj_setjmp GPR:$src, GPR:$val))]>,
>>                                Requires<[IsARM, NoVFP]>;
>> }
>> @@ -2745,10 +2737,7 @@
>> def Int_eh_sjlj_longjmp : XI<(outs), (ins GPR:$src, GPR:$scratch),
>>                             AddrModeNone, SizeSpecial, IndexModeNone,
>>                             Pseudo, NoItinerary,
>> -                             "ldr\tsp, [$src, #8]\n\t"
>> -                             "ldr\t$scratch, [$src, #4]\n\t"
>> -                             "ldr\tr7, [$src]\n\t"
>> -                             "bx\t$scratch", "",
>> +                            "${:comment} EH.SJLJ.LONGJMP PSEUDO", "",
>>                         [(ARMeh_sjlj_longjmp GPR:$src, GPR:$scratch)]>,
>>                                Requires<[IsARM, IsDarwin]>;
>> }
>> 
>> Modified: llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrThumb.td?rev=115130&r1=115129&r2=115130&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMInstrThumb.td (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMInstrThumb.td Wed Sep 29 21:18:06 2010
>> @@ -919,13 +919,7 @@
>>   isBarrier = 1  in {
>>  def tInt_eh_sjlj_setjmp : ThumbXI<(outs),(ins tGPR:$src, tGPR:$val),
>>                              AddrModeNone, SizeSpecial, NoItinerary,
>> -                              "mov\t$val, pc\t${:comment} begin eh.setjmp\n\t"
>> -                              "adds\t$val, #7\n\t"
>> -                              "str\t$val, [$src, #4]\n\t"
>> -                              "movs\tr0, #0\n\t"
>> -                              "b\t1f\n\t"
>> -                              "movs\tr0, #1\t${:comment} end eh.setjmp\n\t"
>> -                              "1:", "",
>> +                             "${:comment} EH.SJLJ.SETJMP PSEUDO", "",
>>                   [(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>;
>> }
>> 
>> @@ -935,11 +929,7 @@
>> def tInt_eh_sjlj_longjmp : XI<(outs), (ins GPR:$src, GPR:$scratch),
>>                             AddrModeNone, SizeSpecial, IndexModeNone,
>>                             Pseudo, NoItinerary,
>> -                             "ldr\t$scratch, [$src, #8]\n\t"
>> -                             "mov\tsp, $scratch\n\t"
>> -                             "ldr\t$scratch, [$src, #4]\n\t"
>> -                             "ldr\tr7, [$src]\n\t"
>> -                             "bx\t$scratch", "",
>> +                             "${:comment} EH.SJLJ.LONGJMP PSEUDO", "",
>>                         [(ARMeh_sjlj_longjmp GPR:$src, GPR:$scratch)]>,
>>                                Requires<[IsThumb, IsDarwin]>;
>> }
>> 
>> Modified: llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td?rev=115130&r1=115129&r2=115130&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td Wed Sep 29 21:18:06 2010
>> @@ -2447,13 +2447,7 @@
>>    D31 ], hasSideEffects = 1, isBarrier = 1 in {
>>  def t2Int_eh_sjlj_setjmp : Thumb2XI<(outs), (ins tGPR:$src, tGPR:$val),
>>                               AddrModeNone, SizeSpecial, NoItinerary,
>> -                               "mov\t$val, pc\t${:comment} begin eh.setjmp\n\t"
>> -                               "adds\t$val, #7\n\t"
>> -                               "str\t$val, [$src, #4]\n\t"
>> -                               "movs\tr0, #0\n\t"
>> -                               "b\t1f\n\t"
>> -                               "movs\tr0, #1\t${:comment} end eh.setjmp\n\t"
>> -                               "1:", "",
>> +                               "${:comment} EH.SJLJ.SETJMP PSEUDO", "",
>>                          [(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>,
>>                             Requires<[IsThumb2, HasVFP2]>;
>> }
>> @@ -2463,13 +2457,7 @@
>>  hasSideEffects = 1, isBarrier = 1 in {
>>  def t2Int_eh_sjlj_setjmp_nofp : Thumb2XI<(outs), (ins tGPR:$src, tGPR:$val),
>>                               AddrModeNone, SizeSpecial, NoItinerary,
>> -                               "mov\t$val, pc\t${:comment} begin eh.setjmp\n\t"
>> -                               "adds\t$val, #7\n\t"
>> -                               "str\t$val, [$src, #4]\n\t"
>> -                               "movs\tr0, #0\n\t"
>> -                               "b\t1f\n\t"
>> -                               "movs\tr0, #1\t${:comment} end eh.setjmp\n\t"
>> -                               "1:", "",
>> +                               "${:comment} EH.SJLJ.SETJMP PSEUDO", "",
>>                          [(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>,
>>                                  Requires<[IsThumb2, NoVFP]>;
>> }
>> 
>> 
>> _______________________________________________
>> 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