1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test
Juergen Ributzka 3e89dc8eab [FastISel] Let the target decide first if it wants to materialize a constant.
This changes the order in which FastISel tries to materialize a constant.
Originally it would try to use a simple target-independent approach, which
can lead to the generation of inefficient code.

On X86 this would result in the use of movabsq to materialize any 64bit
integer constant - even for simple and small values such as 0 and 1. Also
some very funny floating-point materialization could be observed too.

On AArch64 it would materialize the constant 0 in a register even the
architecture has an actual "zero" register.

On ARM it would generate unnecessary mov instructions or not use mvn.

This change simply changes the order and always asks the target first if it
likes to materialize the constant. This doesn't fix all the issues
mentioned above, but it enables the targets to implement such
optimizations.

Related to <rdar://problem/17420988>.

llvm-svn: 215588
2014-08-13 22:08:02 +00:00
..
Analysis Add @llvm.assume, lowering, and some basic properties 2014-07-25 21:13:35 +00:00
Assembler verify-uselistorder: Change the default -num-shuffles=5 2014-07-31 18:46:24 +00:00
Bindings [OCaml] Add Llvm.{string_of_const,const_element}. 2014-08-03 23:54:22 +00:00
Bitcode Don't upgrade global constructors when reading bitcode 2014-08-12 16:46:37 +00:00
BugPoint llvm/test/BugPoint/compile-custom.ll: Use explicit %python to invoke a test script, compile-custom.ll.py, for shebang-incapable hosts. 2014-07-11 14:44:10 +00:00
CodeGen [FastISel] Let the target decide first if it wants to materialize a constant. 2014-08-13 22:08:02 +00:00
DebugInfo DebugLocEntry: Restore the comparison predicate from before the 2014-08-12 01:07:53 +00:00
ExecutionEngine Add missing Interpreter intrinsic lowering for sin, cos and ceil 2014-08-08 15:00:12 +00:00
Feature Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
FileCheck FileCheck: Add a flag to allow checking empty input 2014-08-07 18:40:37 +00:00
Instrumentation Revert r215415 which causse MSan to crash on a great deal of C++ code. 2014-08-13 09:19:39 +00:00
Integer
JitListener
Linker Don't upgrade global constructors when reading bitcode 2014-08-12 16:46:37 +00:00
LTO Change the default input for llvm-nm to be a.out instead of standard input 2014-06-23 20:27:53 +00:00
MC [SKX] Extended non-temporal load/store instructions for AVX512VL subsets. 2014-08-13 10:46:00 +00:00
Object pr20589: Fix duplicated arch flag. 2014-08-08 16:18:29 +00:00
Other Don't internalize all but main by default. 2014-08-05 20:10:38 +00:00
TableGen llvm/test/TableGen/*Foreach*.td: Remove XFAIL:vg_leak. They have not been failing since r215176. 2014-08-12 14:06:21 +00:00
tools Make the test a bit more strict. 2014-08-12 15:55:27 +00:00
Transforms utils: Fix segfault in flattencfg 2014-08-13 20:31:53 +00:00
Unit Let test/Unit/lit.cfg add config.shlibdir to $PATH on DLL platforms like cygming. 2014-07-04 05:11:55 +00:00
Verifier Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
YAMLParser
.clang-format
CMakeLists.txt Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
lit.cfg Temporarily Revert "Nuke the old JIT." as it's not quite ready to 2014-08-07 22:02:54 +00:00
lit.site.cfg.in Add missing Interpreter intrinsic lowering for sin, cos and ceil 2014-08-08 15:00:12 +00:00
Makefile Fix (re-)creation of unittest lit.site.cfg for clang-tools-extra. 2014-08-13 20:41:26 +00:00
Makefile.tests
TestRunner.sh