diff options
Diffstat (limited to 'lib/Target/Hexagon/HexagonTargetMachine.cpp')
-rw-r--r-- | lib/Target/Hexagon/HexagonTargetMachine.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/Hexagon/HexagonTargetMachine.cpp b/lib/Target/Hexagon/HexagonTargetMachine.cpp index 8af95a9c20..cad1473983 100644 --- a/lib/Target/Hexagon/HexagonTargetMachine.cpp +++ b/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()); } |