summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Timer.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-05-19 01:08:17 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-05-19 01:08:17 +0000
commitabd0ad54a475bffd74ad67bf66aa0a060523ccab (patch)
treefc7bb88098c16c96e3cccba0dea26f85e52aa11e /llvm/lib/Support/Timer.cpp
parent58c6f21453aff3b6d2cbf1ac08a96107c1d68718 (diff)
downloadbcm5719-llvm-abd0ad54a475bffd74ad67bf66aa0a060523ccab.tar.gz
bcm5719-llvm-abd0ad54a475bffd74ad67bf66aa0a060523ccab.zip
Intrinsics which do a vector compare (results are all zero or all ones) are modeled as icmp / fcmp + sext. This is turned into a vsetcc by dag combine (yes, not a good long term solution). The targets can then isel the vsetcc to the appropriate instruction.
The trouble arises when the result of a vector cmp + sext is then and'ed with all ones. Instcombine will turn it into a vector cmp + zext, dag combiner will miss turning it into a vsetcc and hell breaks loose after that. Teach dag combine to turn a vector cpm + zest into a vsetcc + and 1. This fixes rdar://7923010. llvm-svn: 104094
Diffstat (limited to 'llvm/lib/Support/Timer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud