llvm/test
Hal Finkel 65309660fa Begin incorporating target information into BBVectorize.
This is the first of several steps to incorporate information from the new
TargetTransformInfo infrastructure into BBVectorize. Two things are done here:

 1. Target information is used to determine if it is profitable to fuse two
    instructions. This means that the cost of the vector operation must not
    be more expensive than the cost of the two original operations. Pairs that
    are not profitable are no longer considered (because current cost information
    is incomplete, for intrinsics for example, equal-cost pairs are still
    considered).

 2. The 'cost savings' computed for the profitability check are also used to
    rank the DAGs that represent the potential vectorization plans. Specifically,
    for nodes of non-trivial depth, the cost savings is used as the node
    weight.

The next step will be to incorporate the shuffle costs into the DAG weighting;
this will give the edges of the DAG weights as well. Once that is done, when
target information is available, we should be able to dispense with the
depth heuristic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166716 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-25 21:12:23 +00:00
..
Analysis dependence analysis 2012-10-11 07:32:34 +00:00
Archive
Assembler Don't crash if a .ll file contains a forward-reference that looks like a global 2012-10-11 00:38:25 +00:00
Bindings/Ocaml Move TargetData to DataLayout. 2012-10-08 16:39:34 +00:00
Bitcode Change encoding of instruction operands in bitcode binaries to be relative 2012-10-11 20:20:40 +00:00
BugPoint Mark bugpoint tests with XFAIL when building with LTO. <rdar://problem/12473675> 2012-10-18 22:03:31 +00:00
CodeGen Add test for ATOM ISA SSSE3 2012-10-25 17:50:05 +00:00
DebugInfo Make sure to generate the right kind of MDNode for enum forward declarations. 2012-10-05 01:49:14 +00:00
ExecutionEngine Some regression tests which are testing the old jit and are exercising functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux. 2012-10-08 13:06:30 +00:00
Feature Add a testcase for the previous commit. 2012-10-22 18:16:55 +00:00
Instrumentation [asan] make sure asan erases old unused allocas after it created a new one. This became important after the recent move from ModulePass to FunctionPass because no cleanup is happening after asan pass any more. 2012-10-19 06:20:53 +00:00
Integer
Linker
MC Initial TOC support for PowerPC64 object creation 2012-10-25 12:27:42 +00:00
Object Fix SymbolRef::getAddress implementation for ELF. The 'value' field in symbol table entry should be treated differently for relocatable and relocated files. This patch fixes symbol addresses printed by llvm-nm for executables and shared objects. 2012-09-21 07:08:08 +00:00
Other Add in support for getIntPtrType to get the pointer type based on the address space. 2012-10-24 15:52:52 +00:00
Scripts
TableGen Re-work bit/bits value resolving in tblgen 2012-09-06 23:32:48 +00:00
Transforms Begin incorporating target information into BBVectorize. 2012-10-25 21:12:23 +00:00
Unit
Verifier Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
YAMLParser
CMakeLists.txt Add dependency on llvm-bcanalyzer from tests to the CMake build. 2012-10-15 21:11:46 +00:00
lit.cfg tests: Stop mangling '-vg' into the triple, we don't use this currently. 2012-10-19 20:11:56 +00:00
lit.site.cfg.in test: Add a lit config variable to check if LTO is enabled. 2012-10-18 20:43:11 +00:00
Makefile test: Add a lit config variable to check if LTO is enabled. 2012-10-18 20:43:11 +00:00
Makefile.tests
TestRunner.sh