llvm-6502/lib/Target/Hexagon
Chandler Carruth 52334f2ad8 [LPM] Stop using the string based preservation API. It is an
abomination.

For starters, this API is incredibly slow. In order to lookup the name
of a pass it must take a memory fence to acquire a pointer to the
managed static pass registry, and then potentially acquire locks while
it consults this registry for information about what passes exist by
that name. This stops the world of LLVMs in your process no matter
how little they cared about the result.

To make this more joyful, you'll note that we are preserving many passes
which *do not exist* any more, or are not even analyses which one might
wish to have be preserved. This means we do all the work only to say
"nope" with no error to the user.

String-based APIs are a *bad idea*. String-based APIs that cannot
produce any meaningful error are an even worse idea. =/

I have a patch that simply removes this API completely, but I'm hesitant
to commit it as I don't really want to perniciously break out-of-tree
users of the old pass manager. I'd rather they just have to migrate to
the new one at some point. If others disagree and would like me to kill
it with fire, just say the word. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227294 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-28 04:57:56 +00:00
..
Disassembler [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
MCTargetDesc [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
CMakeLists.txt [Hexagon] [NFC] Merging InstPrinter directory in to MCTargetDesc since they have a circular dependency. 2014-11-20 21:56:35 +00:00
Hexagon.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Hexagon.td [Hexagon] Adding dealloc_return encoding and absolute address stores. 2015-01-06 16:15:15 +00:00
HexagonAsmPrinter.cpp std::unique_ptrify the MCStreamer argument to createAsmPrinter 2015-01-18 20:29:04 +00:00
HexagonAsmPrinter.h std::unique_ptrify the MCStreamer argument to createAsmPrinter 2015-01-18 20:29:04 +00:00
HexagonCallingConv.td
HexagonCallingConvLower.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
HexagonCallingConvLower.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonCFGOptimizer.cpp [Hexagon] Adding encodings for JR class instructions. Updating complier usages. 2014-12-10 21:24:10 +00:00
HexagonCopyToCombine.cpp [Hexagon] Dropping old combine instructions without encodings. 2014-12-30 17:53:54 +00:00
HexagonExpandPredSpillCode.cpp [Hexagon] Adding post-increment register form stores and register-immediate form stores with tests. 2014-12-29 20:44:51 +00:00
HexagonFixupHwLoops.cpp [Hexagon] Removing old variants of instructions and updating references. 2014-12-19 20:29:29 +00:00
HexagonFrameLowering.cpp [Hexagon] Adding dealloc_return encoding and absolute address stores. 2015-01-06 16:15:15 +00:00
HexagonFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonHardwareLoops.cpp [Hexagon] Removing old versions of cmph and updating references. 2015-01-14 18:26:14 +00:00
HexagonInstrFormats.td [Hexagon] Reapplying 224775 load words. 2014-12-23 20:02:16 +00:00
HexagonInstrFormatsV4.td [Hexagon] Adding compound jump encodings. 2015-01-06 20:03:31 +00:00
HexagonInstrInfo.cpp [Hexagon] Replacing old versions of stores and loads. 2015-01-15 00:15:30 +00:00
HexagonInstrInfo.h Remove unused argument to CreateTargetScheduleState and change 2014-10-09 01:59:35 +00:00
HexagonInstrInfo.td [Hexagon] Converting remaining ALU32/ALU intrinsics. 2015-01-19 18:33:58 +00:00
HexagonInstrInfoV3.td [Hexagon] Updating call/jump instruction patterns. 2015-01-16 17:05:27 +00:00
HexagonInstrInfoV4.td [Hexagon] Fix 226206 by uncommenting required pattern and changing patterns for simple load-extends. 2015-01-15 21:35:49 +00:00
HexagonInstrInfoV5.td [Hexagon] Converting old patterns to new versions using classes. 2015-01-16 19:29:59 +00:00
HexagonIntrinsics.td [Hexagon] Converting multiply and accumulate with immediate intrinsics to patterns. 2015-01-21 18:13:15 +00:00
HexagonIntrinsicsDerived.td [Hexagon] Removing old multiply defs and updating references to new versions. 2014-12-16 16:10:01 +00:00
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td Add missing attributes !cmp.[eq,gt,gtu] instructions. 2014-09-25 13:09:54 +00:00
HexagonIntrinsicsV5.td
HexagonISelDAGToDAG.cpp [Hexagon] Updating muxir/ri/ii intrinsics. Setting predicate registers as compatible with i32 rather than doing custom type conversion. 2015-01-19 20:31:18 +00:00
HexagonISelLowering.cpp [Hexagon] Updating call/jump instruction patterns. 2015-01-16 17:05:27 +00:00
HexagonISelLowering.h [Hexagon] Updating call/jump instruction patterns. 2015-01-16 17:05:27 +00:00
HexagonMachineFunctionInfo.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
HexagonMachineFunctionInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonMachineScheduler.cpp Fix null reference creation in ScheduleDAGInstrs constructor call. 2014-08-20 19:36:05 +00:00
HexagonMachineScheduler.h Remove unused argument to CreateTargetScheduleState and change 2014-10-09 01:59:35 +00:00
HexagonMCInstLower.cpp [Hexagon] Converting member InstrDesc to static variable. 2014-12-03 21:40:25 +00:00
HexagonNewValueJump.cpp [Hexagon] Adding J class call instructions. 2014-12-12 21:12:27 +00:00
HexagonOperands.td [Hexagon] Converting remaining ALU32/ALU intrinsics. 2015-01-19 18:33:58 +00:00
HexagonPeephole.cpp [Hexagon] Dropping old combine instructions without encodings. 2014-12-30 17:53:54 +00:00
HexagonRegisterInfo.cpp [Hexagon] Replacing old versions of stores and loads. 2015-01-15 00:15:30 +00:00
HexagonRegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonRegisterInfo.td [Hexagon] Updating muxir/ri/ii intrinsics. Setting predicate registers as compatible with i32 rather than doing custom type conversion. 2015-01-19 20:31:18 +00:00
HexagonRemoveSZExtArgs.cpp [LPM] Stop using the string based preservation API. It is an 2015-01-28 04:57:56 +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 Have HexagonSelectionDAGInfo take a DataLayout rather than a 2014-06-27 00:18:25 +00:00
HexagonSelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonSplitConst32AndConst64.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
HexagonSplitTFRCondSets.cpp [Hexagon] Adding vmux instruction. Removing old transfer instructions and updating references. 2015-01-15 18:16:00 +00:00
HexagonSubtarget.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
HexagonSubtarget.h Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
HexagonTargetMachine.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
HexagonTargetMachine.h Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
HexagonTargetObjectFile.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
HexagonTargetObjectFile.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonVarargsCallingConvention.h Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
HexagonVLIWPacketizer.cpp [Hexagon] Updating call/jump instruction patterns. 2015-01-16 17:05:27 +00:00
LLVMBuild.txt [Hexagon] [NFC] Merging InstPrinter directory in to MCTargetDesc since they have a circular dependency. 2014-11-20 21:56:35 +00:00
Makefile Update Makefile following directory removal in r222466 2014-11-20 22:48:24 +00:00