1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test
Sanjay Patel de6f59d487 [InstCombine] fold bitcasts around an extractelement (2nd try)
This is a redo of r255124 (reverted at r255126) with an added check for a
scalar destination type and an added test for the failure seen in Clang's
test/CodeGen/vector.c. The extra test shows a different missing optimization.

Original commit message:

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: 255137
2015-12-09 18:57:16 +00:00
..
Analysis Don't punish vectorized arithmetic instruction whose type will be split to multiple registers 2015-12-04 00:36:58 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
DebugInfo Revert "Implement a new pass - LiveDebugValues - to compute the set of live DEBUG_VALUEs at each basic block and insert them. Reviewed and accepted at: http://reviews.llvm.org/D11933" 2015-12-09 08:17:42 +00:00
Examples
ExecutionEngine
Feature Have 'optnone' respect the -fast-isel=false option. 2015-11-30 21:56:16 +00:00
FileCheck
Instrumentation Create llvm.global_ctors in the new format. 2015-12-06 16:18:25 +00:00
Integer
JitListener
LibDriver
Linker Add a test showing that we internalize lazily linked GVs. 2015-12-08 02:38:14 +00:00
LTO
MC [AArch64] Fix FP16 vector instructions that should only accept low registers 2015-12-09 14:32:11 +00:00
Object Stabilize llvm/test/Object/archive-update.test a bit. 2015-12-07 23:15:57 +00:00
Other [llc/opt] Add an option to run all passes twice 2015-12-04 21:56:46 +00:00
SymbolRewriter
TableGen
tools [llvm-dwp] Restructure inputs for test case so they're all grouped together 2015-12-07 18:46:41 +00:00
Transforms [InstCombine] fold bitcasts around an extractelement (2nd try) 2015-12-09 18:57:16 +00:00
Unit
Verifier [Verifier] Fix !dbg validation if Scope is the Subprogram 2015-12-06 23:05:38 +00:00
YAMLParser
.clang-format
CMakeLists.txt [llvm-dwp] Add missing dependency from llvm tests on the llvm-dwp tool 2015-12-01 00:57:05 +00:00
lit.cfg check-llvm: Introduce the new feature "tls". 2015-12-01 01:14:58 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh