[LLVMdev] Effective Sign Extension Elimination

Chris Lattner sabre at nondot.org
Thu Jan 4 14:46:05 PST 2007


On Thu, 4 Jan 2007, Evan Cheng wrote:
> C ABI requires function parameters and return value to be promoted to
> 32-bit. Perhaps we can eliminate these extensions at IPO time if both
> caller and callee agrees to break the ABI convention? This can have
> minor performance impact on targets with sub-registers (e.g. x86).

Absolutely.  The x86 backend can do this today to fastcc functions if it 
wanted.

-Chris

> On Jan 4, 2007, at 2:02 PM, Chris Lattner wrote:
>
>> On Thu, 4 Jan 2007, Bill Wendling wrote:
>>> Now that we have sign/zero extensions, have people given thought to
>>> the elimination of these? There's a paper I downloaded a few years
>>> ago called "Effective Sign Extension Elimination" by M. Kawahito, H.
>>> Komatsu, and T. Nakatani.
>>
>> Sign extension elimination is most useful in the backend, when
>> targeting
>> processors like PowerPC that have a single register width (e.g. 32-
>> bits).
>> We already do quite a bit of sign extension removal in the dag
>> combiner,
>> but this is limited to a single basic block at a time.  In the
>> future, I'd
>> like to extend the selectiondag to work on entire functions at a time,
>> which would increase the scope of this optimization, but this isn't
>> likely
>> to happen in the near future.
>>
>> -Chris
>>
>> --
>> http://nondot.org/sabre/
>> http://llvm.org/
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list