1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib/MC
David Greene a0e8b2161d [System Model] [TTI] Update cache and prefetch TTI interfaces
Re-apply 9fdfb045ae8b/r365676 with fixes for PPC and Hexagon.  This involved
moving defaults from TargetTransformInfoImplBase to MCSubtargetInfo.

Rework the TTI cache and software prefetching APIs to prepare for the
introduction of a general system model.  Changes include:

- Marking existing interfaces const and/or override as appropriate
- Adding comments
- Adding BasicTTIImpl interfaces that delegate to a subtarget
  implementation
- Moving the default TargetTransformInfoImplBase implementation to a default
  MCSubtarget implementation

Only a handful of targets use these interfaces currently: AArch64, Hexagon, PPC
and SystemZ.  AArch64 already has a custom subtarget implementation, so its
custom TTI implementation is migrated to use the new facilities in BasicTTIImpl
to invoke its custom subtarget implementation.  The custom TTI implementations
continue to exist for the other targets with this change.  They are not moved
over to subtarget-based implementations.

The end goal is to have the default subtarget implementation defer to the system
model defined by the target.  With this change, the default MCSubtargetInfo
implementation essentially returns the defaults TargetTransformInfoImplBase used
to return.  Existing users of TTI defaults will hit the defaults now in
MCSubtargetInfo.  Targets that define their own custom TTI implementations won't
use the BasicTTIImpl implementations that route to the subtarget.

Once system models are in place for the targets that use these interfaces, their
custom TTI implementations can be removed.

Differential Revision: https://reviews.llvm.org/D63614

llvm-svn: 374205
2019-10-09 19:51:48 +00:00
..
MCDisassembler
MCParser [IA] Recognize hexadecimal escape sequences 2019-10-08 04:39:52 +00:00
CMakeLists.txt
ConstantPools.cpp
ELFObjectWriter.cpp Revert "[MC] Emit unused undefined symbol even if its binding is not set" 2019-09-30 18:13:48 +00:00
LLVMBuild.txt
MachObjectWriter.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
MCAsmBackend.cpp [DebugInfo] Generate fixups as emitting DWARF .debug_frame/.eh_frame. 2019-07-19 02:03:34 +00:00
MCAsmInfo.cpp
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp
MCAsmInfoXCOFF.cpp [AIX]Emit function descriptor csect in assembly 2019-09-26 19:38:32 +00:00
MCAsmMacro.cpp MCAsmMacro: add #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) to some dump() declarations 2019-08-20 04:14:43 +00:00
MCAsmStreamer.cpp [AIX]Emit function descriptor csect in assembly 2019-09-26 19:38:32 +00:00
MCAssembler.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
MCCodeEmitter.cpp
MCCodePadder.cpp
MCCodeView.cpp
MCContext.cpp Adds support for writing the .bss section for XCOFF object files. 2019-08-20 22:03:18 +00:00
MCDwarf.cpp Do a sweep of symbol internalization. NFC. 2019-08-23 19:59:23 +00:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
MCExpr.cpp [MC] Delete an overload of MCExpr::evaluateKnownAbsolute and its associated hack 2019-08-20 07:42:04 +00:00
MCFragment.cpp
MCInst.cpp
MCInstPrinter.cpp [MC] Fix undefined behavior in MCInstPrinter::formatHex 2019-09-06 01:13:32 +00:00
MCInstrAnalysis.cpp [MC] Add MCInstrAnalysis::evaluateMemoryOperandAddress 2019-07-25 06:57:09 +00:00
MCInstrDesc.cpp
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp [AIX]Emit function descriptor csect in assembly 2019-09-26 19:38:32 +00:00
MCNullStreamer.cpp
MCObjectFileInfo.cpp AArch64: support arm64_32, an ILP32 slice for watchOS. 2019-09-12 10:22:23 +00:00
MCObjectStreamer.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
MCObjectWriter.cpp
MCRegisterInfo.cpp MCRegisterInfo: Merge getLLVMRegNum and getLLVMRegNumFromEH 2019-09-24 09:31:02 +00:00
MCSchedule.cpp
MCSection.cpp
MCSectionCOFF.cpp
MCSectionELF.cpp
MCSectionMachO.cpp
MCSectionWasm.cpp
MCSectionXCOFF.cpp [AIX]Emit function descriptor csect in assembly 2019-09-26 19:38:32 +00:00
MCStreamer.cpp [X86] Print register names in .seh_* directives 2019-08-30 21:23:05 +00:00
MCSubtargetInfo.cpp [System Model] [TTI] Update cache and prefetch TTI interfaces 2019-10-09 19:51:48 +00:00
MCSymbol.cpp
MCSymbolELF.cpp
MCTargetOptions.cpp
MCValue.cpp
MCWasmObjectTargetWriter.cpp [WebAssembly] Make __attribute__((used)) not imply export. 2019-08-29 22:40:00 +00:00
MCWasmStreamer.cpp [WebAssembly] Make __attribute__((used)) not imply export. 2019-08-29 22:40:00 +00:00
MCWin64EH.cpp
MCWinCOFFStreamer.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
MCWinEH.cpp
MCXCOFFObjectTargetWriter.cpp
MCXCOFFStreamer.cpp Handle local commons for XCOFF object file writing 2019-08-27 15:14:45 +00:00
StringTableBuilder.cpp Adds support for writing the .bss section for XCOFF object files. 2019-08-20 22:03:18 +00:00
SubtargetFeature.cpp
WasmObjectWriter.cpp [MC][WebAssembly] Error on data symbols in the text section. 2019-09-25 23:33:16 +00:00
WinCOFFObjectWriter.cpp Unify the two CRC implementations 2019-10-09 09:06:30 +00:00
XCOFFObjectWriter.cpp [AIX]Emit function descriptor csect in assembly 2019-09-26 19:38:32 +00:00