diff options
author | Tobias Grosser <tobias@grosser.es> | 2015-08-30 15:03:59 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2015-08-30 15:03:59 +0000 |
commit | 2985400a0e3437ddec523563b9403347c8bcd85f (patch) | |
tree | 5841ac3724e644c22bc479e4013da139382001cf /clang/lib/CodeGen/CGStmtOpenMP.cpp | |
parent | 51b65d937078e7afe3d180abcf270a44b82bd3d4 (diff) | |
download | bcm5719-llvm-2985400a0e3437ddec523563b9403347c8bcd85f.tar.gz bcm5719-llvm-2985400a0e3437ddec523563b9403347c8bcd85f.zip |
Remove isNew from getOrCreateAlloca
This commit drops some dead code. Specifically, there is no need to initialize
the virtual memory locations of scalars in BlockGenerator::handleOutsideUsers,
the function that initalizes the escape map that keeps track of out-of-scope
uses of scalar values. We already model instructions inside the scop that
are used outside the scope (escaping instructions) as scalar memory writes at
the position of the instruction. As a result, the virtual memory location of
this instructions is already initialized when code-generating the corresponding
virtual scalar write and consequently does not need to be initialized later on
when generating the set of escaping values.
Code references:
In TempScopInfo::buildScalarDependences we detect scalar cross-statement
dependences for all instructions (including PHIs) that have uses outside of the
scop's region:
// Check whether or not the use is in the SCoP.
if (!R->contains(UseParent)) {
AnyCrossStmtUse = true;
continue;
}
We use this information in TempScopInfo::buildAccessFunctions were we build
scalar write memory accesses for all these instructions:
if (!isa<StoreInst>(Inst) &&
buildScalarDependences(Inst, &R, NonAffineSubRegion)) {
// If the Instruction is used outside the statement, we need to build the
// write access.
IRAccess ScalarAccess(IRAccess::MUST_WRITE, Inst, ZeroOffset, 1, true,
Inst);
Functions.push_back(std::make_pair(ScalarAccess, Inst));
}
Reviewers: jdoerfert
Subscribers: pollydev, llvm-commits
Differential Revision: http://reviews.llvm.org/D12472
llvm-svn: 246383
Diffstat (limited to 'clang/lib/CodeGen/CGStmtOpenMP.cpp')
0 files changed, 0 insertions, 0 deletions