diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-09-26 16:26:36 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-09-26 16:26:36 +0000 |
commit | fcd06f77beadf0642bd008fdf596378f8570b55c (patch) | |
tree | 67a92296aed95a6468cf2d2b7de23598f6a49165 /lib/Analysis/LiveVariables.cpp | |
parent | 4f6a7d7ead09b439216c32f2de806a998aeb222a (diff) |
Move VLA processing logic from LiveVariables to CFG construction. This way all dataflow analyses "see" the VLA size expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56655 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/LiveVariables.cpp')
-rw-r--r-- | lib/Analysis/LiveVariables.cpp | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/lib/Analysis/LiveVariables.cpp b/lib/Analysis/LiveVariables.cpp index e82c1e0bc0..58affbfcda 100644 --- a/lib/Analysis/LiveVariables.cpp +++ b/lib/Analysis/LiveVariables.cpp @@ -226,18 +226,6 @@ void TransferFuncs::VisitAssign(BinaryOperator* B) { Visit(B->getRHS()); } -static VariableArrayType* FindVA(Type* t) { - while (ArrayType* vt = dyn_cast<ArrayType>(t)) { - if (VariableArrayType* vat = dyn_cast<VariableArrayType>(vt)) - if (vat->getSizeExpr()) - return vat; - - t = vt->getElementType().getTypePtr(); - } - - return NULL; -} - void TransferFuncs::VisitDeclStmt(DeclStmt* DS) { // Declarations effectively "kill" a variable since they cannot // possibly be live before they are declared. @@ -253,14 +241,6 @@ void TransferFuncs::VisitDeclStmt(DeclStmt* DS) { // Update liveness information by killing the VarDecl. unsigned bit = AD.getIdx(VD); LiveState.getDeclBit(bit) = Dead | AD.AlwaysLive.getDeclBit(bit); - - // If the type of VD is a VLA, then we must process its size expressions. - // These expressions are evaluated before the variable comes into scope, - // so in a reverse dataflow analysis we evaluate them last. - for (VariableArrayType* VA = FindVA(VD->getType().getTypePtr()); VA != 0; - VA = FindVA(VA->getElementType().getTypePtr())) - Visit(VA->getSizeExpr()); - } } |