[llvm-commits] [llvm] r141203 - in /llvm/trunk: lib/Transforms/InstCombine/InstructionCombining.cpp test/Transforms/InstCombine/2010-11-01-lshr-mask.ll

Jim Grosbach grosbach at apple.com
Wed Oct 5 13:47:09 PDT 2011


On Oct 5, 2011, at 1:41 PM, Jakob Stoklund Olesen wrote:

> 
> On Oct 5, 2011, at 1:37 PM, Jim Grosbach wrote:
> 
>> 
>> On Oct 5, 2011, at 1:36 PM, Jakob Stoklund Olesen wrote:
>> 
>>> 
>>> On Oct 5, 2011, at 1:05 PM, Jim Grosbach wrote:
>>> 
>>>> Author: grosbach
>>>> Date: Wed Oct  5 15:05:00 2011
>>>> New Revision: 141203
>>>> 
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=141203&view=rev
>>>> Log:
>>>> Update InstCombine worklist after instruction transform is complete.
>>>> 
>>>> When updating the worklist for InstCombine, the Add/AddUsersToWorklist
>>>> functions may access the instruction(s) being added, for debug output for
>>>> example. If the instructions aren't yet added to the basic block, this
>>>> can result in a crash. Finish the instruction transformation before
>>>> adjusting the worklist instead.
>>> 
>>> Jim,
>>> 
>>> After this commit, this test seems to be looping:
>>> 
>>> $ opt < test/Transforms/InstCombine/or.ll -instcombine -S
>>> 
>>> It is spending most of its time in SimplifyDemandedUseBits().
>> 
>> 
>> Huh. That's odd. It's passing for me OK. Lemme fiddle and try to reproduce.
> 
> I just double-checked that reverting this patch made it terminate properly.
> 
> It's a Release+Asserts build.

Thanks. Something odd going on there. Reverted in 141209. I should be able to fix the --debug crash a bit more conservatively.



More information about the llvm-commits mailing list