[PATCH] SimplifyCFG: recognise and simplify more no-op resumes.
Peter Collingbourne
peter at pcc.me.uk
Thu Mar 21 11:31:28 PDT 2013
On Thu, Mar 21, 2013 at 04:14:01PM +0100, Duncan Sands wrote:
> Hi Peter,
>
>> This is specifically targeted to identify the BB structure used
>> by DragonEgg but it also resulted in a small (~4KB) decrease in
>> binary size for a Clang-built Clang compiled with exceptions.
>>
>> http://llvm-reviews.chandlerc.com/D563
>>
>> Files:
>> lib/Transforms/Utils/SimplifyCFG.cpp
>> test/Transforms/SimplifyCFG/TrivialLPads.ll
>
> it looks like it would be helpful if dragonegg didn't decompose the
> exception pointer/filter pair and recompose them at the end; instead
> it could pass them around as a pair and extract an element only when
> it needs to be used individually. For example, the pair would be passed
> to the resume as a pair, rather than first reconstructing the pair from
> its elements. What do you think?
This looks like it wouldn't be too hard to implement in dragonegg,
but I also wonder about situations where other frontends would find
it easier to do decomposition/recomposition.
Thanks,
--
Peter
More information about the llvm-commits
mailing list