1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib
Michael Zuckerman db35bad707 [LLVM][inline-asm] Altmacro absolute expression '%' feature
In this patch, I introduce a new alt macro feature.
This feature adds meaning for the % when using it as a prefix to the calling macro arguments.

In the altmacro mode, the percent sign '%' before an absolute expression convert the expression first to a string. 
As described in the https://sourceware.org/binutils/docs-2.27/as/Altmacro.html
"Expression results as strings
You can write `%expr' to evaluate the expression expr and use the result as a string."

expression assumptions:

1. '%' can only evaluate an absolute expression.
2. Altmacro '%' must be the first character of the evaluated expression.
3. If no '%' is located before the expression, a regular module operation is expected.
4. The result of Absolute Expressions can be only integer.

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

llvm-svn: 301797
2017-05-01 13:20:12 +00:00
..
Analysis Rename isKnownNotFullPoison to programUndefinedIfPoison; NFC 2017-04-30 19:41:19 +00:00
AsmParser Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
Bitcode Remove set but unused variable in BitcodeReader.cpp. NFC. 2017-04-28 23:11:16 +00:00
CodeGen [DAGCombiner] shrink/widen a vselect to match its condition operand size (PR14657) 2017-04-30 22:44:51 +00:00
DebugInfo [llvm-pdbdump] Abstract some of the YAML/Raw printing code. 2017-04-29 01:13:21 +00:00
Demangle Add support for demangling C++11 thread_local variables. 2017-01-31 15:56:36 +00:00
ExecutionEngine [APInt] Use inplace shift methods where possible. NFCI 2017-04-28 03:36:24 +00:00
Fuzzer Fuzzer: Mark test/cxxstring.test UNSUPPORTED: windows 2017-04-28 23:59:53 +00:00
IR [ConstantRange] Fix a couple cases where we were possibly throwing away an APInt allocation we could reuse. NFC 2017-04-30 00:44:05 +00:00
IRReader
LibDriver Fix some ArgList uses after API change in r300135. 2017-04-12 23:43:58 +00:00
LineEditor
Linker [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
LTO LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
MC [LLVM][inline-asm] Altmacro absolute expression '%' feature 2017-05-01 13:20:12 +00:00
Object LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
ObjectYAML [WebAssembly] Allow for signed relocation addends 2017-04-26 00:02:31 +00:00
Option ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
Passes [PM/LoopUnswitch] Introduce a new, simpler loop unswitch pass. 2017-04-27 18:45:20 +00:00
ProfileData [ProfileData] Unify getInstrProf*SectionName helpers 2017-04-15 00:09:57 +00:00
Support Include <cstdio> in PrettyStackTrace.cpp, since it uses vsnprintf(3). 2017-04-29 23:45:30 +00:00
TableGen Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
Target [AVR] Implement non-constant bit rotations 2017-05-01 09:48:55 +00:00
Transforms Rename isKnownNotFullPoison to programUndefinedIfPoison; NFC 2017-04-30 19:41:19 +00:00
XRay [XRay] - Fix spelling error to test commit access. 2017-04-06 03:32:01 +00:00
CMakeLists.txt [XRay] Define the library for XRay trace logs 2017-01-11 06:39:09 +00:00
LLVMBuild.txt