diff options
author | stozer <stephen.tozer@sony.com> | 2019-12-18 11:46:10 +0000 |
---|---|---|
committer | stozer <stephen.tozer@sony.com> | 2019-12-18 11:46:10 +0000 |
commit | 1f3dd83cc1f2b8f72b9d59e2b4221b12fb7f9a95 (patch) | |
tree | 3d2a01dc183bd1f08d3f95da5a62fcb9bf399dd8 /llvm/lib/CodeGen | |
parent | bad6a76041ee4c360f96bdaa1f4cc5606eda203e (diff) | |
download | bcm5719-llvm-1f3dd83cc1f2b8f72b9d59e2b4221b12fb7f9a95.tar.gz bcm5719-llvm-1f3dd83cc1f2b8f72b9d59e2b4221b12fb7f9a95.zip |
Revert "[DebugInfo] Correctly handle salvaged casts and split fragments at ISel"
Reverted due to build failure on windows bots.
This reverts commit bb1b0bc4e57428ce364d3d6c075ff03cb8973462.
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 735ac67ebfc..27ac489b35b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -5571,26 +5571,8 @@ bool SelectionDAGBuilder::EmitFuncArgumentDbgValue( = [&](ArrayRef<std::pair<unsigned, unsigned>> SplitRegs) { unsigned Offset = 0; for (auto RegAndSize : SplitRegs) { - // If the expression is already a fragment, the current register - // offset+size might extend beyond the fragment. In this case, only - // the register bits that are inside the fragment are relevant. - int RegFragmentSizeInBits = RegAndSize.second; - if (auto ExprFragmentInfo = Expr->getFragmentInfo()) { - uint64_t ExprFragmentSizeInBits = ExprFragmentInfo->SizeInBits; - // The register is entirely outside the expression fragment, - // so is irrelevant for debug info. - if (Offset >= ExprFragmentSizeInBits) - break; - // The register is partially outside the expression fragment, only - // the low bits within the fragment are relevant for debug info. - if (Offset + RegFragmentSizeInBits > ExprFragmentSizeInBits) { - RegFragmentSizeInBits = ExprFragmentSizeInBits - Offset; - } - } - auto FragmentExpr = DIExpression::createFragmentExpression( - Expr, Offset, RegFragmentSizeInBits); - Offset += RegAndSize.second; + Expr, Offset, RegAndSize.second); // If a valid fragment expression cannot be created, the variable's // correct value cannot be determined and so it is set as Undef. if (!FragmentExpr) { @@ -5603,6 +5585,7 @@ bool SelectionDAGBuilder::EmitFuncArgumentDbgValue( FuncInfo.ArgDbgValues.push_back( BuildMI(MF, DL, TII->get(TargetOpcode::DBG_VALUE), false, RegAndSize.first, Variable, *FragmentExpr)); + Offset += RegAndSize.second; } }; |