summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/trunc-load.ll
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[InstCombine] try to narrow a truncated load"Vlad Tsyrklevich2019-07-251-50/+12
| | | | | | | | | This reverts commit bc4a63fd3c29c1a8ce22891bf34ee4dccfef578c, this is a speculative revert to fix a number of sanitizer bots (like sanitizer-x86_64-linux-bootstrap-ubsan) that have started to see stage2 compiler crashes, presumably due to a miscompile. llvm-svn: 367029
* [InstCombine] try to narrow a truncated loadSanjay Patel2019-07-251-12/+50
| | | | | | | | | | | | | | | | | | | | | | trunc (load X) --> load (bitcast X to narrow type) We have this transform in DAGCombiner::ReduceLoadWidth(), but the truncated load pattern can interfere with other instcombine transforms, so I'd like to allow the fold sooner. Example: https://bugs.llvm.org/show_bug.cgi?id=16739 ...in that report, we have bitcasts bracketing these ops, so those could get eliminated too. We've generally ruled out widening of loads early in IR ( LoadCombine - http://lists.llvm.org/pipermail/llvm-dev/2016-September/105291.html ), but that reasoning may not apply to narrowing if we can preserve information such as the dereferenceable range. Differential Revision: https://reviews.llvm.org/D64432 llvm-svn: 367011
* [InstCombine] add tests for load narrowing; NFCSanjay Patel2019-07-241-7/+43
| | | | | | Baseline results for D64432. llvm-svn: 366901
* [InstCombine] add tests for trunc(load); NFCSanjay Patel2019-07-091-0/+73
I'm not sure if transforming any of these is valid as a target-independent fold, but we might as well have a few tests here to confirm or deny our position. llvm-svn: 365523
OpenPOWER on IntegriCloud