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

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Oct 5 13:41:21 PDT 2011


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.

/jakob




More information about the llvm-commits mailing list