summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorstozer <stephen.tozer@sony.com>2019-12-18 11:46:10 +0000
committerstozer <stephen.tozer@sony.com>2019-12-18 11:46:10 +0000
commit1f3dd83cc1f2b8f72b9d59e2b4221b12fb7f9a95 (patch)
tree3d2a01dc183bd1f08d3f95da5a62fcb9bf399dd8 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parentbad6a76041ee4c360f96bdaa1f4cc5606eda203e (diff)
downloadbcm5719-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/SelectionDAG/SelectionDAGBuilder.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp21
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;
}
};
OpenPOWER on IntegriCloud