1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/Transforms/SafeStack
Peter Collingbourne 5b721561aa DI: Reverse direction of subprogram -> function edge.
Previously, subprograms contained a metadata reference to the function they
described. Because most clients need to get or set a subprogram for a given
function rather than the other way around, this created unneeded inefficiency.

For example, many passes needed to call the function llvm::makeSubprogramMap()
to build a mapping from functions to subprograms, and the IR linker needed to
fix up function references in a way that caused quadratic complexity in the IR
linking phase of LTO.

This change reverses the direction of the edge by storing the subprogram as
function-level metadata and removing DISubprogram's function field.

Since this is an IR change, a bitcode upgrade has been provided.

Fixes PR23367. An upgrade script for textual IR for out-of-tree clients is
attached to the PR.

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

llvm-svn: 252219
2015-11-05 22:03:56 +00:00
..
AArch64 [safestack] Fast access to the unsafe stack pointer on AArch64/Android. 2015-10-26 18:28:25 +00:00
ARM [safestack] Fix compiler crash in the presence of stack restores. 2015-09-24 01:23:51 +00:00
X86 [safestack] Fix a stupid mix-up in the direct-tls code path. 2015-09-30 00:01:47 +00:00
addr-taken.ll
array-aligned.ll
array.ll
call.ll
cast.ll
constant-gep-call.ll
constant-gep.ll
constant-geps.ll
debug-loc.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
dynamic-alloca.ll
escape-addr-pointer.ll
escape-bitcast-store2.ll
escape-bitcast-store.ll
escape-call.ll
escape-casted-pointer.ll
escape-gep-call.ll
escape-gep-invoke.ll
escape-gep-negative.ll
escape-gep-ptrtoint.ll
escape-gep-store.ll
escape-phi-call.ll
escape-select-call.ll
escape-vector.ll
invoke.ll
no-attr.ll SafeStack: Create the unsafe stack pointer on demand. 2015-06-22 20:26:54 +00:00
phi-cycle.ll
setjmp2.ll
setjmp.ll
struct.ll