llvm-6502/test
Duncan Sands c038a78335 Now that Reassociate's LinearizeExprTree can look through arbitrary expression
topologies, it is quite possible for a leaf node to have huge multiplicity, for
example: x0 = x*x, x1 = x0*x0, x2 = x1*x1, ... rapidly gives a value which is x
raised to a vast power (the multiplicity, or weight, of x).  This patch fixes
the computation of weights by correctly computing them no matter how big they
are, rather than just overflowing and getting a wrong value.  It turns out that
the weight for a value never needs more bits to represent than the value itself,
so it is enough to represent weights as APInts of the same bitwidth and do the
right overflow-avoiding dance steps when computing weights.  As a side-effect it
reduces the number of multiplies needed in some cases of large powers.  While
there, in view of external uses (eg by the vectorizer) I made LinearizeExprTree
static, pushing the rank computation out into users.  This is progress towards
fixing PR13021.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158358 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12 14:33:56 +00:00
..
Analysis SCEV: Handle a corner case reducing AddRecExpr * AddRecExpr 2012-05-30 03:35:20 +00:00
Archive Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
Assembler Add half support to LLVM (for OpenCL) 2012-05-24 15:59:06 +00:00
Bindings/Ocaml Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
Bitcode Add AutoUpgrade support for the SSE4 ptest intrinsics. 2012-06-10 18:42:51 +00:00
BugPoint Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
CodeGen Fix test that depends on register allocation. 2012-06-11 21:14:28 +00:00
DebugInfo Add support for enum forward declarations. 2012-06-01 00:22:32 +00:00
ExecutionEngine Temporarily disabled the MCJIT tests for Darwin, because the RuntimeDyldMachO has a problems with relocations for 32bit x86. 2012-05-18 00:30:58 +00:00
Feature rdar://11542750 - llvm.trap should be marked no return. 2012-05-27 23:20:41 +00:00
Instrumentation [asan] instrument cmpxchg and atomicrmw 2012-05-30 09:04:06 +00:00
Integer remove two (useless) tests that use incorrect intrinsic prototypes, detected by the new intrinsic verifier. 2012-05-27 19:31:00 +00:00
Linker Remove llvm-ld and llvm-stub (which is only used by llvm-ld). 2012-04-19 19:27:54 +00:00
MC Correct decoder for T1 conditional B encoding 2012-06-06 09:12:53 +00:00
Object Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
Other Teach the 'opt' tool about '-Os' and '-Oz', corresponding to the Clang 2012-05-16 08:32:49 +00:00
Scripts
TableGen Add support for range expressions in TableGen foreach loops. 2012-05-24 22:17:39 +00:00
Transforms Now that Reassociate's LinearizeExprTree can look through arbitrary expression 2012-06-12 14:33:56 +00:00
Unit
Verifier Use dominates(Instruction, Use) in the verifier. 2012-06-01 21:56:26 +00:00
YAMLParser Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
CMakeLists.txt - Added ExecutionEngine/MCJIT tests 2012-05-17 21:07:47 +00:00
lit.cfg Remove llvm-ld and llvm-stub (which is only used by llvm-ld). 2012-04-19 19:27:54 +00:00
lit.site.cfg.in - Added ExecutionEngine/MCJIT tests 2012-05-17 21:07:47 +00:00
Makefile - Added ExecutionEngine/MCJIT tests 2012-05-17 21:07:47 +00:00
Makefile.tests
site.exp.in
TestRunner.sh