aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorMatthijs Kooijman <matthijs@stdin.nl>2008-07-29 10:00:13 +0000
committerMatthijs Kooijman <matthijs@stdin.nl>2008-07-29 10:00:13 +0000
commitfd3070459b169cb633330c57ffb8561b2b048cae (patch)
tree7cf97b3e3124a34540a5d8d4072267f7723f103f /clang/lib/CodeGen/ModuleBuilder.cpp
parent3d5d6f90e0fc83e543be1da4bfbc39210152d9aa (diff)
downloadllvm-fd3070459b169cb633330c57ffb8561b2b048cae.zip
llvm-fd3070459b169cb633330c57ffb8561b2b048cae.tar.gz
llvm-fd3070459b169cb633330c57ffb8561b2b048cae.tar.bz2
Restructure ArgumentPromotion a bit. Instead of just having a single boolean
that says "unconditional loads from this argument are safe", we now keep track of the safety per set of indices from which loads happen. This prevents ArgPromotion from promoting loads that aren't really valid. As an added effect, this will now disregard the the type of the indices passed to a GEP, so "load GEP %A, i32 1" and "load GEP %A, i64 1" will result in a single argument, not two. This fixes PR2598, for which a testcase has been added as well. llvm-svn: 54159
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions