mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-26 22:42:46 +02:00
fb3abba237
Currently each Function points to a DISubprogram and DISubprogram has a scope field. For member functions the scope is a DICompositeType. DIScopes point to the DICompileUnit to facilitate type uniquing. Distinct DISubprograms (with isDefinition: true) are not part of the type hierarchy and cannot be uniqued. This change removes the subprograms list from DICompileUnit and instead adds a pointer to the owning compile unit to distinct DISubprograms. This would make it easy for ThinLTO to strip unneeded DISubprograms and their transitively referenced debug info. Motivation ---------- Materializing DISubprograms is currently the most expensive operation when doing a ThinLTO build of clang. We want the DISubprogram to be stored in a separate Bitcode block (or the same block as the function body) so we can avoid having to expensively deserialize all DISubprograms together with the global metadata. If a function has been inlined into another subprogram we need to store a reference the block containing the inlined subprogram. Attached to https://llvm.org/bugs/show_bug.cgi?id=27284 is a python script that updates LLVM IR testcases to the new format. http://reviews.llvm.org/D19034 <rdar://problem/25256815> llvm-svn: 266446 |
||
---|---|---|
.. | ||
access-non-generic.ll | ||
add-128bit.ll | ||
addrspacecast-gvar.ll | ||
addrspacecast.ll | ||
aggr-param.ll | ||
alias.ll | ||
annotations.ll | ||
arg-lowering.ll | ||
arithmetic-fp-sm20.ll | ||
arithmetic-int.ll | ||
atomics.ll | ||
bfe.ll | ||
branch-fold.ll | ||
bug17709.ll | ||
bug21465.ll | ||
bug22246.ll | ||
bug22322.ll | ||
bug26185.ll | ||
bypass-div.ll | ||
call-with-alloca-buffer.ll | ||
callchain.ll | ||
calling-conv.ll | ||
combine-min-max.ll | ||
compare-int.ll | ||
constant-vectors.ll | ||
convergent-mir-call.ll | ||
convert-fp.ll | ||
convert-int-sm20.ll | ||
ctlz.ll | ||
ctpop.ll | ||
cttz.ll | ||
debug-file-loc.ll | ||
disable-opt.ll | ||
div-ri.ll | ||
envreg.ll | ||
extloadv.ll | ||
fast-math.ll | ||
fma-assoc.ll | ||
fma-disable.ll | ||
fma.ll | ||
fp16.ll | ||
fp-contract.ll | ||
fp-literals.ll | ||
function-align.ll | ||
generic-to-nvvm.ll | ||
global-addrspace.ll | ||
global-ctor-empty.ll | ||
global-ctor.ll | ||
global-dtor.ll | ||
global-ordering.ll | ||
global-visibility.ll | ||
globals_init.ll | ||
globals_lowering.ll | ||
gvar-init.ll | ||
half.ll | ||
i1-global.ll | ||
i1-int-to-fp.ll | ||
i1-param.ll | ||
i8-param.ll | ||
imad.ll | ||
implicit-def.ll | ||
inline-asm.ll | ||
intrin-nocapture.ll | ||
intrinsic-old.ll | ||
intrinsics.ll | ||
isspacep.ll | ||
ld-addrspace.ll | ||
ld-generic.ll | ||
ldparam-v4.ll | ||
ldu-i8.ll | ||
ldu-ldg.ll | ||
ldu-reg-plus-offset.ll | ||
lit.local.cfg | ||
load-sext-i1.ll | ||
load-with-non-coherent-cache.ll | ||
local-stack-frame.ll | ||
loop-vectorize.ll | ||
lower-aggr-copies.ll | ||
lower-alloca.ll | ||
lower-kernel-ptr-arg.ll | ||
machine-sink.ll | ||
MachineSink-call.ll | ||
MachineSink-convergent.ll | ||
managed.ll | ||
misaligned-vector-ldst.ll | ||
module-inline-asm.ll | ||
mulwide.ll | ||
noduplicate-syncthreads.ll | ||
nounroll.ll | ||
nvcl-param-align.ll | ||
nvvm-reflect-module-flag.ll | ||
nvvm-reflect.ll | ||
param-align.ll | ||
pr13291-i1-store.ll | ||
pr16278.ll | ||
pr17529.ll | ||
refl1.ll | ||
reg-copy.ll | ||
rotate.ll | ||
rsqrt.ll | ||
sched1.ll | ||
sched2.ll | ||
sext-in-reg.ll | ||
sext-params.ll | ||
shift-parts.ll | ||
simple-call.ll | ||
sm-version-20.ll | ||
sm-version-21.ll | ||
sm-version-30.ll | ||
sm-version-32.ll | ||
sm-version-35.ll | ||
sm-version-37.ll | ||
sm-version-50.ll | ||
sm-version-52.ll | ||
sm-version-53.ll | ||
speculative-execution-divergent-target.ll | ||
st-addrspace.ll | ||
st-generic.ll | ||
surf-read-cuda.ll | ||
surf-read.ll | ||
surf-write-cuda.ll | ||
surf-write.ll | ||
symbol-naming.ll | ||
TailDuplication-convergent.ll | ||
tex-read-cuda.ll | ||
tex-read.ll | ||
texsurf-queries.ll | ||
tuple-literal.ll | ||
vec8.ll | ||
vec-param-load.ll | ||
vector-args.ll | ||
vector-call.ll | ||
vector-compare.ll | ||
vector-global.ll | ||
vector-loads.ll | ||
vector-return.ll | ||
vector-select.ll | ||
vector-stores.ll | ||
weak-global.ll | ||
weak-linkage.ll |