llvm-6502/lib/Target/Hexagon
Matthias Braun e67bd6c248 CodeGen: Use mop_iterator instead of MIOperands/ConstMIOperands
MIOperands/ConstMIOperands are classes iterating over the MachineOperand
of a MachineInstr, however MachineInstr::mop_iterator does the same
thing.

I assume these two iterators exist to have a uniform interface to
iterate over the operands of a machine instruction bundle and a single
machine instruction. However in practice I find it more confusing to have 2
different iterator classes, so this patch transforms (nearly all) the
code to use mop_iterators.

The only exception being MIOperands::anlayzePhysReg() and
MIOperands::analyzeVirtReg() still needing an equivalent, I leave that
as an exercise for the next patch.

Differential Revision: http://reviews.llvm.org/D9932

This version is slightly modified from the proposed revision in that it
introduces MachineInstr::getOperandNo to avoid the extra counting
variable in the few loops that previously used MIOperands::getOperandNo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238539 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-29 02:56:46 +00:00
..
Disassembler Prune CRLFs. 2015-05-25 01:43:23 +00:00
MCTargetDesc Remove 3 includes from MCInstrDesc.h and explicitly include them where needed 2015-05-15 21:58:42 +00:00
TargetInfo
CMakeLists.txt Expand MUX instructions early on Hexagon 2015-03-31 13:35:12 +00:00
Hexagon.h Hexagon: Remove pass that does nothing at all 2015-03-10 15:06:38 +00:00
Hexagon.td Make the Hexagon ISelDAGToDAG pass set the subtarget dynamically 2015-03-21 03:12:59 +00:00
HexagonAsmPrinter.cpp [AsmPrinter] Make AsmPrinter's OutStreamer member a unique_ptr. 2015-04-24 19:11:51 +00:00
HexagonAsmPrinter.h
HexagonCallingConv.td
HexagonCFGOptimizer.cpp
HexagonCopyToCombine.cpp [Hexagon] Fix compiler warnings in release build 2015-04-23 20:26:21 +00:00
HexagonExpandCondsets.cpp [Hexagon] Avoid an unused variable warning when assertions are off 2015-03-31 19:43:47 +00:00
HexagonExpandPredSpillCode.cpp [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
HexagonFixupHwLoops.cpp [Hexagon] Use constant extenders to fix up hardware loops 2015-04-27 14:16:43 +00:00
HexagonFrameLowering.cpp CodeGen: Use mop_iterator instead of MIOperands/ConstMIOperands 2015-05-29 02:56:46 +00:00
HexagonFrameLowering.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
HexagonHardwareLoops.cpp [Hexagon] Generate hardware loop for a vectorized loop 2015-05-14 20:36:19 +00:00
HexagonInstrFormats.td [Hexagon] Separating InstHexagon from OpcodeHexagon. 2015-03-10 20:56:22 +00:00
HexagonInstrFormatsV4.td [Hexagon] Separating InstHexagon from OpcodeHexagon. 2015-03-10 20:56:22 +00:00
HexagonInstrInfo.cpp [Hexagon] Update AnalyzeBranch, etc target hooks 2015-05-08 16:16:29 +00:00
HexagonInstrInfo.h [Hexagon] Update AnalyzeBranch, etc target hooks 2015-05-08 16:16:29 +00:00
HexagonInstrInfo.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonInstrInfoV3.td
HexagonInstrInfoV4.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonInstrInfoV5.td Eliminate constant-extender profitability checks from Hexagon isel 2015-03-12 00:19:59 +00:00
HexagonInstrInfoVector.td [Hexagon] Add support for vector instructions 2015-03-19 16:33:08 +00:00
HexagonIntrinsics.td [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
HexagonIntrinsicsDerived.td
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td Eliminate constant-extender profitability checks from Hexagon isel 2015-03-12 00:19:59 +00:00
HexagonIntrinsicsV5.td
HexagonISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonISelLowering.cpp ScheduleDAGInstrs: In functions with tail calls PseudoSourceValues are not non-aliasing distinct objects 2015-05-08 23:52:00 +00:00
HexagonISelLowering.h Change getTargetNodeName() to produce compiler warnings for missing cases, fix them 2015-05-07 21:33:59 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h [Hexagon] Overhaul of stack object allocation 2015-04-22 16:43:53 +00:00
HexagonMachineScheduler.cpp
HexagonMachineScheduler.h
HexagonMCInstLower.cpp MC: Modernize MCOperand API naming. NFC. 2015-05-13 18:37:00 +00:00
HexagonNewValueJump.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
HexagonOperands.td [Hexagon] Use constant extenders to fix up hardware loops 2015-04-27 14:16:43 +00:00
HexagonPeephole.cpp [Hexagon] Eliminating immediate condition set. 2015-03-09 19:57:18 +00:00
HexagonRegisterInfo.cpp [Hexagon] Overhaul of stack object allocation 2015-04-22 16:43:53 +00:00
HexagonRegisterInfo.h [Hexagon] Shrink-wrap stack frame (Hexagon-specific) 2015-04-23 16:05:39 +00:00
HexagonRegisterInfo.td
HexagonRemoveSZExtArgs.cpp
HexagonSchedule.td
HexagonScheduleV4.td
HexagonSelectCCInfo.td
HexagonSelectionDAGInfo.cpp
HexagonSelectionDAGInfo.h
HexagonSplitConst32AndConst64.cpp [Hexagon] Use A2_tfrsi for constant pool and jump table addresses 2015-04-22 18:25:53 +00:00
HexagonSubtarget.cpp Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
HexagonSubtarget.h Remove useMachineScheduler and replace it with subtarget options 2015-03-11 22:56:10 +00:00
HexagonTargetMachine.cpp Expand MUX instructions early on Hexagon 2015-03-31 13:35:12 +00:00
HexagonTargetMachine.h Revert r233206 2015-03-25 20:21:16 +00:00
HexagonTargetObjectFile.cpp Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
HexagonTargetObjectFile.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
HexagonVLIWPacketizer.cpp [Hexagon] Treat CFI as solo instructions 2015-04-22 15:47:35 +00:00
LLVMBuild.txt
Makefile Prune CRLFs. 2015-05-25 01:43:23 +00:00