HomePhabricator

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

Authored by chandlerc on Oct 15 2018, 3:42 AM.

Description

[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.

llvm-svn: 344504

Details