diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2011-08-30 19:09:48 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2011-08-30 19:09:48 +0000 |
| commit | e6fba77971f3f32d49fe48dcda30d17811230b1b (patch) | |
| tree | 429d4f9bd143ec28cd616fc0d4c1d80cb6ec819d /llvm/lib/Target/ARM/ARMISelLowering.h | |
| parent | d708ec4c6a3e55865b2d4d8096871a2fc8087bf8 (diff) | |
| download | bcm5719-llvm-e6fba77971f3f32d49fe48dcda30d17811230b1b.tar.gz bcm5719-llvm-e6fba77971f3f32d49fe48dcda30d17811230b1b.zip | |
Follow up to r138791.
Add a instruction flag: hasPostISelHook which tells the pre-RA scheduler to
call a target hook to adjust the instruction. For ARM, this is used to
adjust instructions which may be setting the 's' flag. ADC, SBC, RSB, and RSC
instructions have implicit def of CPSR (required since it now uses CPSR physical
register dependency rather than "glue"). If the carry flag is used, then the
target hook will *fill in* the optional operand with CPSR. Otherwise, the hook
will remove the CPSR implicit def from the MachineInstr.
llvm-svn: 138810
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.h')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.h b/llvm/lib/Target/ARM/ARMISelLowering.h index 4a07ebf97b5..92164aef00b 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.h +++ b/llvm/lib/Target/ARM/ARMISelLowering.h @@ -249,6 +249,9 @@ namespace llvm { EmitInstrWithCustomInserter(MachineInstr *MI, MachineBasicBlock *MBB) const; + virtual void + AdjustInstrPostInstrSelection(MachineInstr *MI, SDNode *Node) const; + SDValue PerformCMOVCombine(SDNode *N, SelectionDAG &DAG) const; virtual SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const; |

