Skip to content
Snippets Groups Projects
  • Jordan Rose's avatar
    b2c405eb
    [analyzer] Remove dead optimization for MaterializeTemporaryExpr. · b2c405eb
    Jordan Rose authored
    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
    b2c405eb
    History
    [analyzer] Remove dead optimization for MaterializeTemporaryExpr.
    Jordan Rose authored
    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
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ExprEngineCXX.cpp 18.46 KiB