summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-09-07 12:03:59 +0000
committerNikita Popov <nikita.ppv@gmail.com>2019-09-07 12:03:59 +0000
commitfdc6977ff3c0cb6c729c38c86f96e1281cb3171c (patch)
treef4d1275cf66b3b895af10767a0feb134ba4905b1 /llvm/lib/Target
parent5d02f259c098a2c965f30803de3a53476309ab1f (diff)
downloadbcm5719-llvm-fdc6977ff3c0cb6c729c38c86f96e1281cb3171c.tar.gz
bcm5719-llvm-fdc6977ff3c0cb6c729c38c86f96e1281cb3171c.zip
[LVI] Look through extractvalue of insertvalue
This addresses the issue mentioned on D19867. When we simplify with.overflow instructions in CVP, we leave behind extractvalue of insertvalue sequences that LVI no longer understands. This means that we can not simplify any instructions based on the with.overflow anymore (until some over pass like InstCombine cleans them up). This patch extends LVI extractvalue handling by calling SimplifyExtractValueInst (which doesn't do anything more than constant folding + looking through insertvalue) and using the block value of the simplification. A possible alternative would be to do something similar to SimplifyIndVars, where we instead directly try to replace extractvalue users of the with.overflow. This would need some additional structural changes to CVP, as it's currently not legal to remove anything but the current instruction -- we'd have to introduce a worklist with instructions scheduled for deletion or similar. Differential Revision: https://reviews.llvm.org/D67035 llvm-svn: 371306
Diffstat (limited to 'llvm/lib/Target')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud