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)
commit308458a98b4a98986b1ceff93f8988bd9d59bc73
treebeff255f2e4f89c5d3313adf91cb3b8bfbdeea11
parent6229219f7e7125b73bbc18b164a482e4178a8bed
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230245 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetLowering.h
include/llvm/Transforms/Scalar.h
lib/CodeGen/GlobalMerge.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
lib/Target/AArch64/AArch64TargetMachine.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMTargetMachine.cpp