llvm-project/llvm/lib
Tom Stellard 8e0257625d MCAsmInfo: Allow targets to specify when the .section directive should be omitted
Summary:
The default behavior is to omit the .section directive for .text, .data,
and sometimes .bss, but some targets may want to omit this directive for
other sections too.

The AMDGPU backend will uses this to emit a simplified syntax for section
switches.  For example if the section directive is not omitted (current
behavior), section switches to .hsatext will be printed like this:

.section .hsatext,#alloc,#execinstr,#write

This is actually wrong, because .hsatext has some custom STT_* flags,
which MC doesn't know how to print or parse.

If the section directive is omitted (made possible by this commit),
section switches will be printed like this:

.hsatext

The motivation for this patch is to make it possible to emit sections
with custom STT_* flags without having to teach MC about all the target
specific STT_* flags.

Reviewers: rafael, grosbach

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D12423

llvm-svn: 248618
2015-09-25 21:41:14 +00:00
..
Analysis Revert two SCEV changes that caused test failures in clang. 2015-09-25 21:16:50 +00:00
AsmParser [Bitcode][Asm] Teach LLVM to read and write operand bundles. 2015-09-24 23:34:52 +00:00
Bitcode [Bitcode][Asm] Teach LLVM to read and write operand bundles. 2015-09-24 23:34:52 +00:00
CodeGen MachineBasicBlock: Factor out common code into isReturnBlock() 2015-09-25 21:25:19 +00:00
DebugInfo Use makeArrayRef or None to avoid unnecessarily mentioning the ArrayRef type extra times. NFC 2015-09-21 05:32:41 +00:00
ExecutionEngine Remove roundingMode argument in APFloat::mod 2015-09-21 19:29:25 +00:00
Fuzzer [libFuzzer] perform fewer crossover operations compared to plain mutations 2015-09-11 00:20:58 +00:00
IR [Bitcode][Asm] Teach LLVM to read and write operand bundles. 2015-09-24 23:34:52 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LTO Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
LibDriver There is only one saver of strings. 2015-08-13 01:07:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker [opaque pointer types] Switch a few cases of getElementType over, since I had them lying around anyway 2015-09-14 20:29:26 +00:00
MC MCAsmInfo: Allow targets to specify when the .section directive should be omitted 2015-09-25 21:41:14 +00:00
Object Prune trailing whitespaces. 2015-09-22 11:19:03 +00:00
Option Add an ArgList::AddAllArgs that accepts a vector of OptSpecifier. 2015-07-29 17:34:41 +00:00
Passes [PM] Port SROA to the new pass manager. 2015-09-12 09:09:14 +00:00
ProfileData GCC AutoFDO profile reader - Initial support. 2015-09-17 00:17:24 +00:00
Support [ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def 2015-09-24 17:31:16 +00:00
TableGen TableGen: Support folding casts from bits to int 2015-07-31 01:12:06 +00:00
Target MachineBasicBlock: Factor out common code into isReturnBlock() 2015-09-25 21:25:19 +00:00
Transforms ADCE: Fix typo in file comment. NFC 2015-09-25 21:03:46 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00