[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