llvm-6502/lib
Nick Lewycky 795cb48f1a Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the
loop header when computing the trip count.

With this, we now constant evaluate:
  struct ListNode { const struct ListNode *next; int i; };
  static const struct ListNode node1 = {0, 1};
  static const struct ListNode node2 = {&node1, 2};
  static const struct ListNode node3 = {&node2, 3};
  int test() {
    int sum = 0;
    for (const struct ListNode *n = &node3; n != 0; n = n->next)
      sum += n->i;
    return sum;
  }


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142781 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-23 23:43:14 +00:00
..
Analysis Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the 2011-10-23 23:43:14 +00:00
Archive
AsmParser Backing out patch. Will refactor to remove the AsmParser dependency on Target. 2011-10-18 00:23:49 +00:00
Bitcode Also update the EH with bitcode. I missed this earlier. Thanks to Duncan for pointing it out. 2011-10-05 07:04:14 +00:00
CodeGen Now that we have comparison on probabilities, add some static functions 2011-10-23 20:10:34 +00:00
DebugInfo lib/DebugInfo/DWARFDebugLine.cpp: De-Unicode-ify. 2011-10-08 11:22:47 +00:00
ExecutionEngine Adding dependencies to allow -DBUILD_SHARED_LIBS=true to complete. 2011-10-19 00:13:13 +00:00
Linker Allow the source module to be materialized during the linking process. 2011-10-14 22:17:46 +00:00
MC Fix parsing of a line with only a # in it. 2011-10-19 18:48:52 +00:00
Object Use LLVMBool for a function that logically returns a boolean value. 2011-10-21 20:35:58 +00:00
Support Print branch probabilities as percentages. 2011-10-23 11:32:54 +00:00
TableGen Implement Paste 2011-10-19 13:04:43 +00:00
Target Add X86 SARX, SHRX, and SHLX instructions. 2011-10-23 22:18:24 +00:00
Transforms The element insertion code in scalar replacement doesn't handle incorrect 2011-10-23 07:02:10 +00:00
VMCore Refactor code from inlining and globalopt that checks whether a function definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. 2011-10-20 05:23:42 +00:00
CMakeLists.txt
Makefile