Rewrite the global merge pass to be subprogram agnostic for now.
authorEric Christopher <echristo@gmail.com>
Mon, 23 Feb 2015 19:28:45 +0000 (19:28 +0000)
committerEric Christopher <echristo@gmail.com>
Mon, 23 Feb 2015 19:28:45 +0000 (19:28 +0000)
commited47b2295111e80902479d6b55a6f3c653d0461e
treed757362dcd94e587c3f7c0874880771ab13ba81d
parente4ca441a65ab33bb4bb48bfbbe9b89cae8931c37
Rewrite the global merge pass to be subprogram agnostic for now.
It was previously using the subtarget to get values for the global
offset without actually checking each function as it was generating
code. Go ahead and solidify the current behavior and make the
existing FIXMEs more prominent.

As a note the ARM backend previously had a thumb1 and non-thumb1
set of defaults. Only the former was tested so I've changed the
behavior to only use that for now.

llvm-svn: 230245
llvm/include/llvm/Target/TargetLowering.h
llvm/include/llvm/Transforms/Scalar.h
llvm/lib/CodeGen/GlobalMerge.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMISelLowering.h
llvm/lib/Target/ARM/ARMTargetMachine.cpp