Go to file
Sanjay Patel 07410ed234 [InstCombine] fold bitcasts around an extractelement
Example:
  bitcast (extractelement (bitcast <2 x float> %X to <2 x i32>), 1) to float
    --->
  extractelement <2 x float> %X, i32 1

This is part of fixing PR25543:
https://llvm.org/bugs/show_bug.cgi?id=25543

The next step will be to generalize this fold:
trunc ( lshr ( bitcast X) ) -> extractelement (X)

Ie, I'm hoping to replace the existing transform of:
bitcast ( trunc ( lshr ( bitcast X)))
added by:
http://reviews.llvm.org/rL112232

with 2 less specific transforms to catch the case in the bug report.

Differential Revision: http://reviews.llvm.org/D14879

llvm-svn: 255124
2015-12-09 16:17:20 +00:00
clang clang-format: Improve documentation of AlignOperands. 2015-12-09 07:56:52 +00:00
clang-tools-extra Added coverage check for extensionless headers, and exclude hidden dot directoryies. 2015-12-04 22:42:18 +00:00
compiler-rt Avoid extended mnemonic 'mfvrsave' in assembly code 2015-12-09 15:18:30 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc integer: remove explicit casts from _MIN definitions 2015-10-06 19:12:12 +00:00
libcxx Cleaned up the intro for the TS status page; really need much more info here 2015-12-08 00:08:23 +00:00
libcxxabi .gitignore: ignore vim swap files 2015-12-04 02:15:02 +00:00
libunwind Make it possible to use libunwind without heap. 2015-11-09 06:57:29 +00:00
lld [ELF] - Implement the TLS relocation optimization for 32-bit x86. 2015-12-09 09:55:54 +00:00
lldb [RenderScript] Add hook for destroyed allocations 2015-12-09 16:01:58 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm [InstCombine] fold bitcasts around an extractelement 2015-12-09 16:17:20 +00:00
openmp Replace DYNA_* names with KMP_* names 2015-12-03 19:37:20 +00:00
polly executeScopConditionally: Introduce special exiting block 2015-12-09 11:38:22 +00:00