llvm-project/llvm/test
Rafael Espindola 9f92995781 Don't pass the code model to MC
I was surprised to see the code model being passed to MC. After all,
it assembles code, it doesn't create it.

The one place it is used is in the expansion of .cfi directives to
handle .eh_frame being more that 2gb away from the code.

As far as I can tell, gnu assembler doesn't even have an option to
enable this. Compiling a c file with gcc -mcmodel=large produces a
regular looking .eh_frame. This is probably because in practice linker
parse and recreate .eh_frames.

In llvm this is used because the JIT can place the code and .eh_frame
very far apart. Ideally we would fix the jit and delete this
option. This is hard.

Apart from confusion another problem with the current interface is
that most callers pass CodeModel::Default, which is bad since MC has
no way to map it to the target default if it actually needed to.

This patch then replaces the argument with a boolean with a default
value. The vast majority of users don't ever need to look at it. In
fact, only CodeGen and llvm-mc use it and llvm-mc just to enable more
testing.

llvm-svn: 309884
2017-08-02 20:32:26 +00:00
..
Analysis [tests] Do not emity binary bitcode to stdout in RegionInfo tests 2017-07-29 09:58:43 +00:00
Assembler test: add an additional cfi_return_column test 2017-07-30 21:30:54 +00:00
Bindings
Bitcode Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
BugPoint
CodeGen [Power9] Exploit vector absolute difference instructions on Power 9 2017-08-02 20:07:21 +00:00
DebugInfo DebugInfo: Test & handle (differently) non-zero DW_AT_ranges_base 2017-08-02 20:16:22 +00:00
DllTool [llvm-dlltool] Write correct weak externals 2017-07-31 11:18:41 +00:00
Examples
ExecutionEngine Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
Feature Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
FileCheck [llvm] Remove redundant check-prefix=CHECK from tests. NFC. 2017-07-17 17:32:45 +00:00
Instrumentation [sanitizer-coverage] don't instrument available_externally functions 2017-07-31 20:00:22 +00:00
Integer
JitListener
LTO Update the new PM pipeline to make ICP aware if it is SamplePGO build. 2017-08-02 01:28:31 +00:00
LibDriver
Linker ThinLTO: Don't import aliases of any kind (even linkonce_odr) 2017-07-27 15:09:06 +00:00
MC Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
Object [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
ObjectYAML [codeview] Fix YAML for LF_TYPESERVER2 by hoisting PDB_UniqueId 2017-07-17 23:59:44 +00:00
Other Update the test to make windows bot pass. 2017-07-29 07:01:25 +00:00
SafepointIRVerifier [SafepointIRVerifier] Avoid false positives in GC verifier for compare between pointers 2017-07-07 13:02:29 +00:00
SymbolRewriter
TableGen [globalisel][tablegen] Do not merge memoperands from instructions that weren't in the match. 2017-08-02 11:03:36 +00:00
ThinLTO/X86 ThinLTO: Don't import aliases of any kind (even linkonce_odr) 2017-07-27 15:09:06 +00:00
Transforms [InstCombine] Support sext in foldLogicCastConstant 2017-08-02 20:25:56 +00:00
Unit Change remaining references to lit.util.capture to use subprocess.check_output. 2017-07-06 21:46:47 +00:00
Verifier Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
YAMLParser
tools Fix the bug that parseAAPipeline is not invoked in runNewPMPasses in release compiler. 2017-08-02 03:03:19 +00:00
.clang-format
CMakeLists.txt Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00
TestRunner.sh
lit.cfg Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00
lit.site.cfg.in Correctly enable the llvm-mt tests, now that build flags changed. 2017-07-26 16:35:44 +00:00