[llvm-commits] [PATCH] fix bug in InstCombiner::visitPHINode()
jay.foad at gmail.com
Sat Apr 16 07:22:56 PDT 2011
> It looks like the only symptom would be a missed optimization.
> The incorrect code checks whether the later non-PHI incoming values
> are all equal to either a basic block or a previous incoming PHI
> node, depending on whether the incoming value number is odd or
> The original value is also re-checked, and that check will only
> succeed if it was the first incoming value
> (getOperandNumForIncomingValue(0) == 0), so in all other cases it will
> simply choose not to do anything.
> The 'first incoming value' case was apparently the only case currently
> tested, which was why this didn't show up in 'make check'
> : Which won't happen because they're not valid incoming values.
> : Which won't happen because they're treated differently by PHIsEqualValue().
>> Tested with "make check". OK to apply?
> I've constructed some tests for this which I'll check in afterwards.
Thanks for investigating. I've committed the fix now.
More information about the llvm-commits