]> granicus.if.org Git - clang/commit
[analyzer] Remove dead optimization for MaterializeTemporaryExpr.
authorJordan Rose <jordan_rose@apple.com>
Thu, 25 Jul 2013 22:32:35 +0000 (22:32 +0000)
committerJordan Rose <jordan_rose@apple.com>
Thu, 25 Jul 2013 22:32:35 +0000 (22:32 +0000)
commitb2c405eb22b2b4844ded1f865675329c2d9793ed
tree15439d73ee4c151f6364ce9dbaa74ec8783bccae
parent73168db4feadbb5e8915e71369aad33292860427
[analyzer] Remove dead optimization for MaterializeTemporaryExpr.

Previously, we tried to avoid creating new temporary object regions if
the value to be materialized itself came from a temporary object region.
However, once we became more strict about lvalues vs. rvalues (months
ago), this optimization became dead code, because the input to this
function will always be an rvalue (i.e. a symbolic value or compound
value rather than a region, at least for structs).

This would be a nice optimization to keep, but removing it makes it
simpler to reason about temporary regions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187160 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/ExprEngineCXX.cpp