1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/MC
Craig Topper 10839866a1 [X86][MC][Target] Initial backend support a tune CPU to support -mtune
This patch implements initial backend support for a -mtune CPU controlled by a "tune-cpu" function attribute. If the attribute is not present X86 will use the resolved CPU from target-cpu attribute or command line.

This patch adds MC layer support a tune CPU. Each CPU now has two sets of features stored in their GenSubtargetInfo.inc tables . These features lists are passed separately to the Processor and ProcessorModel classes in tablegen. The tune list defaults to an empty list to avoid changes to non-X86. This annoyingly increases the size of static tables on all target as we now store 24 more bytes per CPU. I haven't quantified the overall impact, but I can if we're concerned.

One new test is added to X86 to show a few tuning features with mismatched tune-cpu and target-cpu/target-feature attributes to demonstrate independent control. Another new test is added to demonstrate that the scheduler model follows the tune CPU.

I have not added a -mtune to llc/opt or MC layer command line yet. With no attributes we'll just use the -mcpu for both. MC layer tools will always follow the normal CPU for tuning.

Differential Revision: https://reviews.llvm.org/D85165
2020-08-14 15:31:50 -07:00
..
MCDisassembler Make helpers static. NFC. 2020-07-09 13:48:56 +02:00
MCParser [MachO] Add skeletal support for DriverKit platform 2020-08-14 12:36:43 -07:00
CMakeLists.txt
ConstantPools.cpp
ELFObjectWriter.cpp Revert "Reland D64327 [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on REL targets" 2020-08-07 10:56:33 -07:00
LLVMBuild.txt
MachObjectWriter.cpp
MCAsmBackend.cpp
MCAsmInfo.cpp
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp
MCAsmInfoXCOFF.cpp [XCOFF][AIX] Give symbol an internal name when desired symbol name contains invalid character(s) 2020-07-06 15:49:15 +00:00
MCAsmMacro.cpp
MCAsmStreamer.cpp [MachO] Add skeletal support for DriverKit platform 2020-08-14 12:36:43 -07:00
MCAssembler.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCCodeEmitter.cpp
MCCodeView.cpp [MC][NFC] Use camelCase style for functions in MCObjectStreamer 2020-04-20 20:09:20 -07:00
MCContext.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCDwarf.cpp [MC] Rename a misnamed function. NFC. 2020-06-18 20:18:19 +07:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp Clean up warnings after a2c8cd18128d3529992a86998d2bea80cceafff0 2020-04-30 17:01:30 +02:00
MCExpr.cpp [MC] Support infix operator ! 2020-07-30 23:25:53 -07:00
MCFragment.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCInst.cpp
MCInstPrinter.cpp
MCInstrAnalysis.cpp [MC] Move MCInstrAnalysis::evaluateBranch to X86MCInstrAnalysis::evaluateBranch 2020-04-29 23:23:52 -07:00
MCInstrDesc.cpp
MCInstrInfo.cpp
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp Clean up warnings after a2c8cd18128d3529992a86998d2bea80cceafff0 2020-04-30 17:01:30 +02:00
MCNullStreamer.cpp
MCObjectFileInfo.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCObjectStreamer.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCObjectWriter.cpp
MCRegisterInfo.cpp
MCSchedule.cpp
MCSection.cpp
MCSectionCOFF.cpp
MCSectionELF.cpp [MC] Set sh_link to 0 if the associated symbol is undefined 2020-08-03 13:43:48 -07:00
MCSectionMachO.cpp
MCSectionWasm.cpp MCSectionWasm.h - reduce includes to forward declarations. NFC. 2020-06-27 10:03:34 +01:00
MCSectionXCOFF.cpp [XCOFF][AIX] Use TE storage mapping class when large code model is enabled 2020-08-10 19:52:10 +00:00
MCStreamer.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCSubtargetInfo.cpp [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
MCSymbol.cpp
MCSymbolELF.cpp
MCSymbolXCOFF.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCTargetOptions.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCTargetOptionsCommandFlags.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCValue.cpp
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp [MC][NFC] Use camelCase style for functions in MCObjectStreamer 2020-04-20 20:09:20 -07:00
MCWin64EH.cpp
MCWinCOFFStreamer.cpp [COFF] Add cg_profile directive and .llvm.call-graph-profile section 2020-07-10 17:07:30 -07:00
MCWinEH.cpp
MCXCOFFObjectTargetWriter.cpp
MCXCOFFStreamer.cpp [AIX] supporting the visibility attribute for aix assembly 2020-06-09 16:15:06 -04:00
StringTableBuilder.cpp
SubtargetFeature.cpp
WasmObjectWriter.cpp [WebAssembly] 64-bit (function) pointer fixes. 2020-07-16 14:10:22 -07:00
WinCOFFObjectWriter.cpp [MC] [COFF] Make sure that weak external symbols are undefined symbols 2020-07-24 22:15:08 +03:00
XCOFFObjectWriter.cpp [XCOFF][AIX] Give symbol an internal name when desired symbol name contains invalid character(s) 2020-07-06 15:49:15 +00:00