1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/test
Simon Dardis 2e9a461206 [inlineasm] Propagate operand constraints to the backend
When SelectionDAGISel transforms a node representing an inline asm
block, memory constraint information is not preserved. This can cause
constraints to be broken when a memory offset is of the form:

offset + frame index

when the frame is resolved.

By propagating the constraints all the way to the backend, targets can
enforce memory operands of inline assembly to conform to their constraints.

For MIPSR6, some instructions had their offsets reduced to 9 bits from
16 bits such as ll/sc. This becomes problematic when using inline assembly
to perform atomic operations, as an offset can generated that is too big to
encode in the instruction.

Reviewers: dsanders, vkalintris

Differential Review: https://reviews.llvm.org/D21615

llvm-svn: 275786
2016-07-18 13:17:31 +00:00
..
Analysis [X86] Add CTPOP/CTLZ/CTTZ scalar cost tests 2016-07-17 18:29:19 +00:00
Assembler [ConstantFold] Don't incorrectly infer inbounds on array GEP 2016-07-13 03:24:41 +00:00
Bindings
Bitcode
BugPoint
CodeGen [inlineasm] Propagate operand constraints to the backend 2016-07-18 13:17:31 +00:00
DebugInfo [pdb] Teach MsfBuilder and other classes about the Free Page Map. 2016-07-15 22:17:19 +00:00
Examples
ExecutionEngine X86: handle external tail calls in Windows JIT 2016-07-14 17:27:06 +00:00
Feature
FileCheck
Instrumentation [sanitizer-coverage] make sure that calls to __sanitizer_cov_trace_pc are not merged (otherwise different calls get the same PC and confuse fuzzers) 2016-07-14 17:59:01 +00:00
Integer
JitListener
LibDriver
Linker
LTO
MC [codeview] Shrink inlined call site line info tables 2016-07-14 23:47:15 +00:00
Object
ObjectYAML
Other
SymbolRewriter
TableGen
ThinLTO/X86
tools [llvm-cov] Attempt to fix a test failure on Windows 2016-07-18 04:49:42 +00:00
Transforms [GVNHoist] Change the key for VNtoInsns to a pair 2016-07-18 06:11:37 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh