aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-06-12 01:39:48 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-06-12 01:39:48 +0000
commit9947e48cd1d75d00271a0f83374981a6e56c7656 (patch)
tree1ddd6c1729b4d48afbe29ebece02ee0c3e37696c /clang/lib/Frontend/CompilerInvocation.cpp
parentff449802c2d890be466ac7a96ebbd9f78a4597ca (diff)
downloadllvm-9947e48cd1d75d00271a0f83374981a6e56c7656.zip
llvm-9947e48cd1d75d00271a0f83374981a6e56c7656.tar.gz
llvm-9947e48cd1d75d00271a0f83374981a6e56c7656.tar.bz2
[GVN] Use a simpler form of IRBuilder constructor.
Summary: A side effect of this change is that it IRBuilder now automatically created debug info locations for new instructions, which is the same as debug location of insertion point. This is fine for the functions in questions (GetStoreValueForLoad and GetMemInstValueForLoad), as they are used in two situations: * GVN::processLoad, which tries to eliminate a load. In this case new instructions would have the same debug location as the load they eventually replace; * MaterializeAdjustedValue, which adds new instructions to the end of the basic blocks, which could later be used to replace the load definition. In this case we don't yet know the way the load would be eventually replaced (either by assembling the precomputed values via PHI, or by using them directly), so just using the basic block strategy seems to be reasonable. There is also a special case in the code that *would* adjust the location of the last instruction replacing the load definition to the location of the load. Test Plan: regression test suite Reviewers: echristo, dberlin, dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10405 llvm-svn: 239585
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions