[InstCombine] Don't use getFirstNonPHI in FoldIntegerTypedPHI
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Fri, 15 Nov 2019 01:45:27 +0000 (17:45 -0800)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Fri, 15 Nov 2019 01:52:01 +0000 (17:52 -0800)
commita4c76be5068991780342cc5aaac12f8c73050ea1
tree807e0e4bb8a069a2dce5afc98472633160247dc5
parent8723b95cefa4f2a891c2b496dca79f1734cf1d1c
[InstCombine] Don't use getFirstNonPHI in FoldIntegerTypedPHI

getFirstNonPHI iterates over all the instructions in a block until it
finds a non-PHI.

Then, the loop starts from the beginning of the block and goes through
all the instructions until it reaches the instruction found by
getFirstNonPHI.

Instead of doing that, just stop when a non-PHI is found.

This reduces the compile-time of a test case discussed in
https://reviews.llvm.org/D47023 by 13x.

Not entirely sure how to come up with a test case for this since it's a
compile time issue that would significantly slow down running the tests.

Differential Revision: https://reviews.llvm.org/D70016
llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp