hanchenye-llvm-project/llvm/tools
Alex Bradbury b22f751fa7 Thread MCSubtargetInfo through Target::createMCAsmBackend
Currently it's not possible to access MCSubtargetInfo from a TgtMCAsmBackend. 
D20830 threaded an MCSubtargetInfo reference through 
MCAsmBackend::relaxInstruction, but this isn't the only function that would 
benefit from access. This patch removes the Triple and CPUString arguments 
from createMCAsmBackend and replaces them with MCSubtargetInfo.

This patch just changes the interface without making any intentional 
functional changes. Once in, several cleanups are possible:
* Get rid of the awkward MCSubtargetInfo handling in ARMAsmBackend
* Support 16-bit instructions when valid in MipsAsmBackend::writeNopData
* Get rid of the CPU string parsing in X86AsmBackend and just use a SubtargetFeature for HasNopl
* Emit 16-bit nops in RISCVAsmBackend::writeNopData if the compressed instruction set extension is enabled (see D41221)

This change initially exposed PR35686, which has since been resolved in r321026.

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

llvm-svn: 321692
2018-01-03 08:53:05 +00:00
..
bugpoint Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
bugpoint-passes Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
dsymutil Thread MCSubtargetInfo through Target::createMCAsmBackend 2018-01-03 08:53:05 +00:00
gold [LLVMgold] Don't set undefined symbol as prevailing 2017-12-15 09:18:21 +00:00
llc Rename CommandFlags.h -> CommandFlags.def 2017-11-27 19:43:58 +00:00
lli Rename CommandFlags.h -> CommandFlags.def 2017-11-27 19:43:58 +00:00
llvm-ar Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-as Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm-as-fuzzer cmake: Invent add_llvm_fuzzer to set up fuzzer targets 2017-08-31 00:36:33 +00:00
llvm-bcanalyzer Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-c-test Fixed warning 'function declaration isn’t a prototype [-Werror=strict-prototypes]' 2017-12-16 02:54:17 +00:00
llvm-cat [Bitcode] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-09-07 23:28:24 +00:00
llvm-cfi-verify Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-config [GlobalISel] Make GlobalISel a non-optional library. 2017-08-03 21:52:25 +00:00
llvm-cov Avoid int to string conversion in Twine or raw_ostream contexts. 2017-12-28 16:58:54 +00:00
llvm-cvtres [llvm-cvtres] Add support for ARM64 2017-11-10 22:27:41 +00:00
llvm-cxxdump Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
llvm-cxxfilt Add opt-viewer testing 2017-11-29 17:07:41 +00:00
llvm-demangle-fuzzer llvm-demangle-fuzzer: Link in Support 2017-11-17 20:46:55 +00:00
llvm-diff Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-dis [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-dwarfdump [dwarfdump] Lookup needs to be an unsigned long long parameter. 2017-12-19 09:45:26 +00:00
llvm-dwp Thread MCSubtargetInfo through Target::createMCAsmBackend 2018-01-03 08:53:05 +00:00
llvm-extract [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-go Update some code.google.com links 2017-11-13 23:47:58 +00:00
llvm-isel-fuzzer Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-jitlistener
llvm-link [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-lto [Support][CachePruning] Disable cache pruning regression fix 2017-12-19 14:42:38 +00:00
llvm-lto2 Rename CommandFlags.h -> CommandFlags.def 2017-11-27 19:43:58 +00:00
llvm-mc Thread MCSubtargetInfo through Target::createMCAsmBackend 2018-01-03 08:53:05 +00:00
llvm-mc-assemble-fuzzer Rename MCTargetOptionsCommandFlags.h to .def as it is not a normal/modular header as much as it is for stamping out some global/static variables 2017-11-27 19:55:16 +00:00
llvm-mc-disassemble-fuzzer cmake: Invent add_llvm_fuzzer to set up fuzzer targets 2017-08-31 00:36:33 +00:00
llvm-mcmarkup Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
llvm-modextract [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-mt Don't #include MemoryBuffer.h from Host.h. 2017-11-17 01:00:35 +00:00
llvm-nm Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-objcopy [llvm-objcopy] Add support for visibility 2018-01-02 23:01:24 +00:00
llvm-objdump Avoid int to string conversion in Twine or raw_ostream contexts. 2017-12-28 16:58:54 +00:00
llvm-opt-fuzzer Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-opt-report Don't call exit from cl::PrintHelpMessage. 2017-09-07 23:30:48 +00:00
llvm-pdbutil Don't crash in llvm-pdbutil when dumping TypeIndexes with high bit set. 2017-12-15 00:27:49 +00:00
llvm-profdata [llvm-profdata] Don't treat non-fatal merge errors as fatal 2017-11-17 21:18:32 +00:00
llvm-rc llvm-rc/ResourceScriptTokenList.h: Turns this into a .def file to imply that it's non-modular 2017-11-21 00:23:19 +00:00
llvm-readobj Fix tests after move to utohexstr. 2017-12-28 17:00:37 +00:00
llvm-rtdyld Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
llvm-shlib [Solaris] enable --whole-archive for shared-library build, disable --version-script for Solaris-ld 2017-07-19 16:07:51 +00:00
llvm-size Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
llvm-special-case-list-fuzzer [llvm-special-case-list-fuzzer] Add fuzz target. 2017-10-17 17:43:34 +00:00
llvm-split [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-stress [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-strings [llvm-strings] Add support for the -a/--all options 2017-11-14 19:58:36 +00:00
llvm-symbolizer [tools] Add option to install binutils symlinks 2017-11-02 21:43:32 +00:00
llvm-xray Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
lto Rename CommandFlags.h -> CommandFlags.def 2017-11-27 19:43:58 +00:00
msbuild
obj2yaml [WebAssembly] Add support for init functions linking metadata 2017-12-14 21:10:03 +00:00
opt [Debugify] Add a pass to test debug info preservation 2017-12-08 21:57:28 +00:00
opt-viewer [opt-viewer] Also demangle indirect-call promotion targets 2017-12-20 19:08:12 +00:00
sancov Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
sanstats Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
verify-uselistorder
xcode-toolchain [llvm] Add stripped installation targets 2017-11-30 21:48:26 +00:00
yaml2obj Avoid int to string conversion in Twine or raw_ostream contexts. 2017-12-28 16:58:54 +00:00
CMakeLists.txt
LLVMBuild.txt Introduce the llvm-cfi-verify tool (resubmission of D37937). 2017-09-20 20:38:14 +00:00