summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
diff options
context:
space:
mode:
authorBrendon Cahoon <bcahoon@codeaurora.org>2012-05-11 19:56:59 +0000
committerBrendon Cahoon <bcahoon@codeaurora.org>2012-05-11 19:56:59 +0000
commit31f8723ef3822837e4bf6d77973177592afc6bcd (patch)
tree30090845a2f8752792b467a760dec9c8bf8933a9 /llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
parent06e34d92201a98a6c4ed497bef4394b5df8a1cb4 (diff)
downloadbcm5719-llvm-31f8723ef3822837e4bf6d77973177592afc6bcd.tar.gz
bcm5719-llvm-31f8723ef3822837e4bf6d77973177592afc6bcd.zip
Hexagon constant extender support.
Patch by Jyotsna Verma. llvm-svn: 156634
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp b/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
index 8af95a9c206..cad14739834 100644
--- a/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
@@ -28,6 +28,10 @@ static cl::
opt<bool> DisableHardwareLoops(
"disable-hexagon-hwloops", cl::Hidden,
cl::desc("Disable Hardware Loops for Hexagon target"));
+static cl::
+opt<bool> DisableCExtOpt(
+ "disable-hexagon-cextopt", cl::Hidden,
+ cl::desc("Disable Optimization of Constant Extenders"));
/// HexagonTargetMachineModule - Note that this is used on hosts that
/// cannot link in a library unless there are references into the
@@ -110,6 +114,9 @@ bool HexagonPassConfig::addInstSelector() {
bool HexagonPassConfig::addPreRegAlloc() {
+ if (!DisableCExtOpt) {
+ PM->add(createHexagonOptimizeConstExt(getHexagonTargetMachine()));
+ }
if (!DisableHardwareLoops) {
PM->add(createHexagonHardwareLoops());
}
OpenPOWER on IntegriCloud