summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2015-02-10 02:25:56 +0000
committerChandler Carruth <chandlerc@gmail.com>2015-02-10 02:25:56 +0000
commitb65d61a2e8776cc3107d188b442500306b6c4e0f (patch)
tree1c98c23b95df1439e8972597b7386651153fb46e /lldb/scripts/Python
parent9e95f27effc40b3bf39b4bc6b0cb425079b53587 (diff)
downloadbcm5719-llvm-b65d61a2e8776cc3107d188b442500306b6c4e0f.tar.gz
bcm5719-llvm-b65d61a2e8776cc3107d188b442500306b6c4e0f.zip
[x86] Fix PR22524: the DAG combiner was incorrectly handling illegal
nodes when folding bitcasts of constants. We can't fold things and then check after-the-fact whether it was legal. Once we have formed the DAG node, arbitrary other nodes may have been collapsed to it. There is no easy way to go back. Instead, we need to test for the specific folding cases we're interested in and ensure those are legal first. This could in theory make this less powerful for bitcasting from an integer to some vector type, but AFAICT, that can't actually happen in the SDAG so its fine. Now, we *only* whitelist specific int->fp and fp->int bitcasts for post-legalization folding. I've added the test case from the PR. (Also as a note, this does not appear to be in 3.6, no backport needed) llvm-svn: 228656
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud