[LIR] Remove the 'LIRUtils' abstraction which was unnecessary and adding
authorChandler Carruth <chandlerc@gmail.com>
Wed, 12 Aug 2015 23:55:56 +0000 (23:55 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 12 Aug 2015 23:55:56 +0000 (23:55 +0000)
commitbef75e81156d1fc1c95dff292a36e09f04cdb07d
tree3fb4a05b1afd6d450781b3b8c855dd77e1a1482e
parent149fe5ef04fc5f3036085233cd1f65b83e49b2e2
[LIR] Remove the 'LIRUtils' abstraction which was unnecessary and adding
complexity.

There is only one function that was called from multiple locations, and
that was 'getBranch' which has a reasonable one-line spelling already:
dyn_cast<BranchInst>(BB->getTerminator). We could make this shorter, but
it doesn't seem to add much value. Instead, we should avoid calling it
so many times on the same basic blocks, but that will be in a subsequent
patch.

The other functions are only called in one location, so inline them
there, and take advantage of this to use direct early exit and reduce
indentation. This makes it much more clear what is being tested for, and
in fact makes it clear now to me that there are simpler ways to do this
work. However, this patch just does the mechanical inlining. I'll clean
up the functionality of the code to leverage loop simplified form more
effectively in a follow-up.

Despite lots of early line breaks due to early-exit, this is still
shorter than it was before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244841 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopIdiomRecognize.cpp