diff options
| author | Hal Finkel <hfinkel@anl.gov> | 2012-06-08 15:38:21 +0000 |
|---|---|---|
| committer | Hal Finkel <hfinkel@anl.gov> | 2012-06-08 15:38:21 +0000 |
| commit | 96c2d4d945d053804c7dc0749bab81114dfdf809 (patch) | |
| tree | ff8c62edda387e3d3aac964c245d582f907b6712 /llvm/lib/Target/PowerPC/PPCInstrFormats.td | |
| parent | 59036d2c06f7a88a68fb3eeadb2e315b5bb0cef2 (diff) | |
| download | bcm5719-llvm-96c2d4d945d053804c7dc0749bab81114dfdf809.tar.gz bcm5719-llvm-96c2d4d945d053804c7dc0749bab81114dfdf809.zip | |
Add the PPCCTRLoops pass: a PPC machine-code-level optimization pass to form CTR-based loop branching code.
This pass is derived from the Hexagon HardwareLoops pass. The only significant enhancement over the Hexagon
pass is that PPCCTRLoops will also attempt to delete the replaced add and compare operations if they are
no longer otherwise used. Also, invalid preheader DebugLoc is not used.
llvm-svn: 158204
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCInstrFormats.td')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCInstrFormats.td | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstrFormats.td b/llvm/lib/Target/PowerPC/PPCInstrFormats.td index d8e4b2bdf34..a41a0279d21 100644 --- a/llvm/lib/Target/PowerPC/PPCInstrFormats.td +++ b/llvm/lib/Target/PowerPC/PPCInstrFormats.td @@ -94,6 +94,12 @@ class IForm<bits<6> opcode, bit aa, bit lk, dag OOL, dag IOL, string asmstr, let Inst{31} = lk; } +class IForm_ext<bits<6> opcode, bits<5> bo, bit aa, bit lk, dag OOL, dag IOL, + string asmstr, InstrItinClass itin, list<dag> pattern> + : IForm<opcode, aa, lk, OOL, IOL, asmstr, itin, pattern> { + let LI{0-4} = bo; +} + // 1.7.2 B-Form class BForm<bits<6> opcode, bit aa, bit lk, dag OOL, dag IOL, string asmstr> : I<opcode, OOL, IOL, asmstr, BrB> { |

