Displaying 3 results from an estimated 3 matches for "jumpmaps".
2017 Feb 13
5
(RFC) JumpMaps: switch statement optimization
...working for good few years now on an out-of-tree
embedded back-end. Our primary goal is code size, secondary performance.
We've recently implemented an optimization that we believe others could
use. It's about time to contribute back.
-------------------------------------------------------
JumpMaps: a generalization of JumpTables
JumpTables produce fast and small code but have a limitation - they only
work if case values are easy to compute from the variable being
switch()ed. To overcome this limitation we introduce a {key,value}
structure - a JumpMap.
Simplifying somewhat, LLVM would curren...
2017 Feb 14
2
(RFC) JumpMaps: switch statement optimization
JumpMap lowering is nearly identical to that of JumpTables with the
exception of lack of range-check basic-block.
We introduce JumpMapInfo structure which follows the same flow as
JumpTableInfo and is finally emitted by AsmPrinter.
There are many ways a Target may want to encode jumpmaps (deltas,
compression, relative vs absolute), so we plan to keep this flexible and
target-driven when upstreaming.
Witold
W dniu 2017-02-14 o 10:53, Nema, Ashutosh pisze:
> Hi Witold,
>
> Can you explain what you meant by adding support in compiler_rt & changes in lowering.
>
>...
2017 Feb 14
3
(RFC) JumpMaps: switch statement optimization
...y identical to that of JumpTables with the
>> exception of lack of range-check basic-block.
>> We introduce JumpMapInfo structure which follows the same flow as
>> JumpTableInfo and is finally emitted by AsmPrinter.
>>
>> There are many ways a Target may want to encode jumpmaps (deltas,
>> compression, relative vs absolute), so we plan to keep this flexible and
>> target-driven when upstreaming.
>>
>> Witold
>>
>> W dniu 2017-02-14 o 10:53, Nema, Ashutosh pisze:
>>> Hi Witold,
>>>
>>> Can you explain what you...