[DebugInfo] Disallow fragmenting DIExpressions with shift operators
authorstozer <stephen.tozer@sony.com>
Fri, 22 Nov 2019 16:40:32 +0000 (16:40 +0000)
committerstozer <stephen.tozer@sony.com>
Tue, 26 Nov 2019 16:12:22 +0000 (16:12 +0000)
commit184d72a7c6a7f40e752a044eb0336cbd4c43d004
tree93c73b8031eb66e96a7f2bea9b57b225961c623e
parent7707d8aa9db8aa3814593f9c40cc707f306e3ae2
[DebugInfo] Disallow fragmenting DIExpressions with shift operators

DIExpressions with shift operators should not be fragmented for the same
reason as arithmetic operators: carry over cannot be expressed from one
fragment to the other, so an invalid result would be produced.

Differential Revision: https://reviews.llvm.org/D70601
llvm/lib/IR/DebugInfoMetadata.cpp
llvm/unittests/IR/MetadataTest.cpp