1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/lib
Bill Schmidt 93b2fc9f50 Fix PR15155: lost vadd/vsplat optimization.
During lowering of a BUILD_VECTOR, we look for opportunities to use a
vector splat.  When the splatted value fits in 5 signed bits, a single
splat does the job.  When it doesn't fit in 5 bits but does fit in 6,
and is an even value, we can splat on half the value and add the result
to itself.

This last optimization hasn't been working recently because of improved
constant folding.  To circumvent this, create a pseudo VADD_SPLAT that
can be expanded during instruction selection.

llvm-svn: 175632
2013-02-20 15:50:31 +00:00
..
Analysis Teach the DataLayout aware constant folder to be much more aggressive towards 2013-02-14 03:23:37 +00:00
Archive Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AsmParser Update comment. 2013-02-14 20:44:07 +00:00
Bitcode Simplify code. No functionality change. 2013-02-19 09:48:30 +00:00
CodeGen Move the SplatByte helper to APInt and generalize it a bit. 2013-02-20 13:00:06 +00:00
DebugInfo Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage. 2013-02-15 12:30:38 +00:00
ExecutionEngine [patch] bug 15055 Add Unistd.h to OProfileWrapper.cpp 2013-02-07 20:43:33 +00:00
IR Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
Linker Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
MC clear new map and initialize new variable 2013-02-20 00:10:29 +00:00
Object Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Option Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
Support Move part of APInt implementation from header to cpp file. These methods 2013-02-20 00:17:42 +00:00
TableGen Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage. 2013-02-15 12:30:38 +00:00
Target Fix PR15155: lost vadd/vsplat optimization. 2013-02-20 15:50:31 +00:00
Transforms [asan] instrument invoke insns with noreturn attribute (as well as call insns) 2013-02-20 12:35:15 +00:00
CMakeLists.txt Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
LLVMBuild.txt Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
Makefile Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00