mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-21 20:12:56 +02:00
5b721561aa
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 |
||
---|---|---|
.. | ||
big-endian-dump.ll | ||
bitfield.ll | ||
cfi-eof-prologue.ll | ||
constant-dbgloc.ll | ||
float-args.ll | ||
header.ll | ||
line.test | ||
lit.local.cfg | ||
little-endian-dump.ll | ||
lowerbdgdeclare_vla.ll | ||
multiple-constant-uses-drops-dbgloc.ll | ||
PR16736.ll | ||
processes-relocations.ll | ||
prologue_end.ll | ||
s-super-register.ll | ||
selectiondag-deadcode.ll | ||
single-constant-use-preserves-dbgloc.ll | ||
tls.ll |