diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2015-07-08 14:47:34 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2015-07-08 14:47:34 +0000 |
commit | 21b53a5120782bc0f1510bf1f8552bf9468e352c (patch) | |
tree | 6c3e8ada09dbf8404b70510edc7b53c546877998 /llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp | |
parent | d19b4767ff2e84487ad56611137c241704243393 (diff) | |
download | bcm5719-llvm-21b53a5120782bc0f1510bf1f8552bf9468e352c.tar.gz bcm5719-llvm-21b53a5120782bc0f1510bf1f8552bf9468e352c.zip |
[Hexagon] Generate "insert" instructions more aggressively
llvm-svn: 241683
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp b/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp index a173a808783..10b809f51de 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp +++ b/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp @@ -37,6 +37,8 @@ static cl::opt<bool> EnableExpandCondsets("hexagon-expand-condsets", cl::init(true), cl::Hidden, cl::ZeroOrMore, cl::desc("Early expansion of MUX")); +static cl::opt<bool> EnableGenInsert("hexagon-insert", cl::init(true), + cl::Hidden, cl::desc("Generate \"insert\" instructions")); /// HexagonTargetMachineModule - Note that this is used on hosts that /// cannot link in a library unless there are references into the @@ -64,12 +66,12 @@ namespace llvm { FunctionPass *createHexagonISelDag(HexagonTargetMachine &TM, CodeGenOpt::Level OptLevel); FunctionPass *createHexagonDelaySlotFillerPass(const TargetMachine &TM); - FunctionPass *createHexagonFPMoverPass(const TargetMachine &TM); FunctionPass *createHexagonRemoveExtendArgs(const HexagonTargetMachine &TM); FunctionPass *createHexagonCFGOptimizer(); FunctionPass *createHexagonSplitConst32AndConst64(); FunctionPass *createHexagonExpandPredSpillCode(); + FunctionPass *createHexagonGenInsert(); FunctionPass *createHexagonHardwareLoops(); FunctionPass *createHexagonPeephole(); FunctionPass *createHexagonFixupHwLoops(); @@ -146,6 +148,8 @@ bool HexagonPassConfig::addInstSelector() { if (!NoOpt) { addPass(createHexagonPeephole()); printAndVerify("After hexagon peephole pass"); + if (EnableGenInsert) + addPass(createHexagonGenInsert(), false); } return false; |