1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib
David Blaikie 8e3c8d089a [opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg'
As a space optimization, this instruction would just encode the pointer
type of the first operand and use the knowledge that the second and
third operands would be of the pointee type of the first. When typed
pointers go away, this assumption will no longer be available - so
encode the type of the second operand explicitly and rely on that for
the third.

Test case added to demonstrate the backwards compatibility concern,
which only comes up when the definition of the second operand comes
after the use (hence the weird basic block sequence) - at which point
the type needs to be explicitly encoded in the bitcode and the record
length changes to accommodate this.

llvm-svn: 235966
2015-04-28 04:30:29 +00:00
..
Analysis Fix typo in comment. 2015-04-24 15:46:41 +00:00
AsmParser IR: Add assembly/bitcode support for function metadata attachments 2015-04-24 22:04:41 +00:00
Bitcode [opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg' 2015-04-28 04:30:29 +00:00
CodeGen Switch lowering: use uint32_t for weights everywhere 2015-04-27 23:52:19 +00:00
DebugInfo Add missing library dependency in libPDB. 2015-04-27 21:23:12 +00:00
ExecutionEngine Move DIContext.h to common DebugInfo location. 2015-04-23 17:37:47 +00:00
Fuzzer Removing a spurious space; NFC. 2015-04-06 16:09:13 +00:00
IR DebugInfo: Support up to 2^16 arguments in a subprogram 2015-04-28 01:07:33 +00:00
IRReader
LineEditor
Linker Linker: Copy over function metadata attachments 2015-04-24 22:07:31 +00:00
LTO LTO: Add API to choose whether to embed uselists 2015-04-27 23:38:54 +00:00
MC [MC] Use LShr for constant evaluation of ">>" on ELF/arm64--darwin. 2015-04-28 01:37:11 +00:00
Object Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
Option Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
Passes
ProfileData
Support Fixes a hang that can occur if a signal comes in during malloc calls. 2015-04-27 20:45:35 +00:00
TableGen [TableGen] Don't leak Expanders and Operators in SetTheory. 2015-04-24 06:49:44 +00:00
Target [MC] Use LShr for constant evaluation of ">>" on ELF/arm64--darwin. 2015-04-28 01:37:11 +00:00
Transforms [RewriteStatepointsForGC] Exclude constant values from being considered live at a safepoint 2015-04-26 19:48:03 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile