1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
llvm-mirror/test
Eli Friedman ef366a16a2 PR2621: Improvements to the SCEV AddRec binomial expansion. This
version uses a new algorithm for evaluating the binomial coefficients 
which is significantly more efficient for AddRecs of more than 2 terms 
(see the comments in the code for details on how the algorithm works).  
It also fixes some bugs: it removes the arbitrary length restriction for 
AddRecs, it fixes the silent generation of incorrect code for AddRecs 
which require a wide calculation width, and it fixes an issue where we 
were incorrectly truncating the iteration count too far when evaluating 
an AddRec expression narrower than the induction variable.

There are still a few related issues I know of: I think there's 
still an issue with the SCEVExpander expansion of AddRec in terms of
the width of the induction variable used.  The hack to avoid generating 
too-wide integers shouldn't be necessary; instead, the callers should be 
considering the cost of the expansion before expanding it (in addition 
to not expanding too-wide integers, we might not want to expand 
expressions that are really expensive, especially when optimizing for 
size; calculating an length-17 32-bit AddRec currently generates about 250 
instructions of straight-line code on X86).  Also, for long 32-bit 
AddRecs on X86, CodeGen really sucks at scheduling the code.  I'm planning on 
filing follow-up PRs for these issues.

llvm-svn: 54332
2008-08-04 23:49:06 +00:00
..
Analysis PR2621: Improvements to the SCEV AddRec binomial expansion. This 2008-08-04 23:49:06 +00:00
Archive sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Assembler Add vector shifts to the IR, patch by Eli Friedman. 2008-07-29 15:49:41 +00:00
Bindings/Ocaml Don't send checkpoints to stderr for the vmcore.ml test. 2008-06-11 14:58:01 +00:00
Bitcode Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq. 2008-05-24 02:56:30 +00:00
BugPoint this is unneeded now. 2008-06-16 04:25:39 +00:00
CodeGen Fix SDISel lowering of PHI nodes to use ComputeValueVTs. 2008-08-04 23:42:46 +00:00
DebugInfo Testcase for debug info from data-only files. 2008-07-08 21:57:56 +00:00
ExecutionEngine Add a test case for APInt bug fix in r51999. 2008-06-05 13:42:21 +00:00
Feature Put CPPBackend tests into their own directory and run them only if they're 2008-07-10 22:35:32 +00:00
FrontendAda Testcase for gimplify_expr crash caused by an 2008-01-15 19:55:41 +00:00
FrontendC Testcase for PR2520. 2008-07-08 10:11:36 +00:00
FrontendC++ XFAIL some tests that became failing due to the extra error reporting recently. PR's are created for these. 2008-06-13 16:52:35 +00:00
FrontendFortran Regression test for PR2443. 2008-06-27 14:22:20 +00:00
FrontendObjC Suppress ObjC FE warnings, which cause the test to fail. 2008-06-10 18:00:45 +00:00
Integer Fix some escaping and quoting in RUN lines, mainly involving { and <. In two 2008-06-10 16:04:47 +00:00
lib Regression test for PR2443. 2008-06-27 14:22:20 +00:00
Linker Reimplement LinkFunctionProtos in terms of GetLinkageResult. This fixes 2008-07-14 07:23:24 +00:00
LLVMC Fix the -opt switch and add a test case for it. 2008-05-30 19:56:27 +00:00
Other Test this differently: I saw this test fail 2008-07-28 19:09:01 +00:00
Scripts simplify shell syntax to work better on solaris, patch by 2008-06-25 16:03:42 +00:00
TableGen For all RUN lines starting with "not", redirect stderr to /dev/null so tests 2008-06-10 12:57:32 +00:00
Transforms Add -unroll-allow-partial command line option that enabled the loop unroller to 2008-07-29 13:21:23 +00:00
Verifier For all RUN lines starting with "not", redirect stderr to /dev/null so tests 2008-06-10 12:57:32 +00:00
Makefile Add EXTRA_OPTIONS on the llvmgxx command line. 2008-04-24 17:59:03 +00:00
Makefile.tests Failure.sh is dead, remove it. 2007-04-21 20:46:55 +00:00
TestRunner.sh Fix a bashism in TestRunner.sh. 2008-07-28 18:41:03 +00:00