llvm-6502/lib/Target/Hexagon
Tim Northover ee8d5c393e TableGen: permit non-leaf ComplexPattern uses
This allows the results of a ComplexPattern check to be distributed to separate
named Operands, instead of the current system where all results must apply (and
match perfectly) with a single Operand.

For example, if "some_addrmode" is a ComplexPattern producing two results, you
can write:

   def : Pat<(load (some_addrmode GPR64:$base, imm:$offset)),
             (INST GPR64:$base, imm:$offset)>;

This should allow neater instruction definitions in TableGen that don't put all
possible aspects of addressing into a single operand, but are still usable with
relatively simple C++ CodeGen idioms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209206 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-20 11:52:46 +00:00
..
InstPrinter [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
MCTargetDesc [Hexagon] Add New TSFlags to be used in the upcoming patches. 2014-05-07 19:07:34 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
CMakeLists.txt [CMake] Let add_public_tablegen_target() provide intrinsics_gen, too. 2013-11-28 17:04:31 +00:00
Hexagon.h Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. 2013-06-19 21:36:55 +00:00
Hexagon.td [Hexagon] Add new InstrItinClass to support timing classes. 2014-05-08 18:47:08 +00:00
HexagonAsmPrinter.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
HexagonAsmPrinter.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonCallingConv.td
HexagonCallingConvLower.cpp Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
HexagonCallingConvLower.h Replace '#include ValueTypes.h' with forward declarations. 2014-03-12 08:00:24 +00:00
HexagonCFGOptimizer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonCopyToCombine.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonExpandPredSpillCode.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonFixupHwLoops.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonFrameLowering.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
HexagonFrameLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonHardwareLoops.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonInstrFormats.td [Hexagon] Add new InstrItinClass to support timing classes. 2014-05-08 18:47:08 +00:00
HexagonInstrFormatsV4.td [Hexagon] Add new InstrItinClass to support timing classes. 2014-05-08 18:47:08 +00:00
HexagonInstrInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
HexagonInstrInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonInstrInfo.td [Hexagon] Add New TSFlags to be used in the upcoming patches. 2014-05-07 19:07:34 +00:00
HexagonInstrInfoV3.td Hexagon: Use multiclass for Jump instructions. 2013-05-01 21:37:34 +00:00
HexagonInstrInfoV4.td TableGen: permit non-leaf ComplexPattern uses 2014-05-20 11:52:46 +00:00
HexagonInstrInfoV5.td Hexagon: Fix switch cases in HexagonVLIWPacketizer.cpp. 2013-05-10 20:27:34 +00:00
HexagonIntrinsics.td reverting r209132 2014-05-19 16:22:11 +00:00
HexagonIntrinsicsDerived.td
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td
HexagonIntrinsicsV5.td
HexagonISelDAGToDAG.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonISelLowering.cpp [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
HexagonISelLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonMachineFunctionInfo.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
HexagonMachineFunctionInfo.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
HexagonMachineScheduler.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
HexagonMachineScheduler.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
HexagonMCInstLower.cpp Move the llvm mangler to lib/IR. 2014-01-07 21:19:40 +00:00
HexagonNewValueJump.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonOperands.td
HexagonPeephole.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonRegisterInfo.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
HexagonRegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonRegisterInfo.td reverting r209132 2014-05-19 16:22:11 +00:00
HexagonRemoveSZExtArgs.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonSchedule.td [Hexagon] Add new InstrItinClass to support timing classes. 2014-05-08 18:47:08 +00:00
HexagonScheduleV4.td [Hexagon] Add new InstrItinClass to support timing classes. 2014-05-08 18:47:08 +00:00
HexagonSelectCCInfo.td
HexagonSelectionDAGInfo.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
HexagonSelectionDAGInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonSplitConst32AndConst64.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonSplitTFRCondSets.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
HexagonSubtarget.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
HexagonSubtarget.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
HexagonTargetMachine.cpp Remove HexagonTargetMachine::addPassesForOptimizations; it is not needed any more. 2014-05-01 22:10:59 +00:00
HexagonTargetMachine.h Remove HexagonTargetMachine::addPassesForOptimizations; it is not needed any more. 2014-05-01 22:10:59 +00:00
HexagonTargetObjectFile.cpp Pass the Mangler by reference. 2014-02-08 14:53:28 +00:00
HexagonTargetObjectFile.h Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
HexagonVarargsCallingConvention.h Correct word hyphenations 2013-12-05 05:44:44 +00:00
HexagonVLIWPacketizer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition 2014-04-29 07:58:16 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
Makefile