tree 8f42b06b94aa5f7a247bd807bc646670b08a8d82
parent 6b2551a97f39191f8c88d9ebbc52fea4ee9ce20f
author Chandler Carruth <chandlerc@gmail.com> 1539600170 +0000
committer Chandler Carruth <chandlerc@gmail.com> 1539600170 +0000

[TI removal] Make `getTerminator()` return a generic `Instruction`.

This removes the primary remaining API producing `TerminatorInst` which
will reduce the rate at which code is introduced trying to use it and
generally make it much easier to remove the remaining APIs across the
codebase.

Also clean up some of the stragglers that the previous mechanical update
of variables missed.

Users of LLVM and out-of-tree code generally will need to update any
explicit variable types to handle this. Replacing `TerminatorInst` with
`Instruction` (or `auto`) almost always works. Most of these edits were
made in prior commits using the perl one-liner:
```
perl -i -ple 's/TerminatorInst(\b.* = .*getTerminator\(\))/Instruction\1/g'
```

This also my break some rare use cases where people overload for both
`Instruction` and `TerminatorInst`, but these should be easily fixed by
removing the `TerminatorInst` overload.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@344504 91177308-0d34-0410-b5e6-96231b3b80d8
