Go to file
Nadav Rotem 4ce060b3da LoopVectorizer: Add support for if-conversion of PHINodes with 3+ incoming values.
By supporting the vectorization of PHINodes with more than two incoming values we can increase the complexity of nested if statements.

We can now vectorize this loop:

int foo(int *A, int *B, int n) {
  for (int i=0; i < n; i++) {
    int x = 9;
    if (A[i] > B[i]) {
      if (A[i] > 19) {
        x = 3;
      } else if (B[i] < 4 ) {
        x = 4;
      } else {
        x = 5;
      }
    }
    A[i] = x;
  }
}

llvm-svn: 181037
2013-05-03 17:42:55 +00:00
clang Micro-optimization: check the overloaded operator kind before 2013-05-03 17:11:14 +00:00
clang-tools-extra Generate input files from within unit test 2013-05-03 16:30:55 +00:00
compiler-rt Use unbuffered I/O. This reduces the runtime by about half. Our implementation is now only about 5 times slower than gcc's. 2013-05-03 00:25:49 +00:00
debuginfo-tests Remove IR scenario tests. 2013-03-15 20:52:10 +00:00
libclc Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
libcxx Stephan Tolksdorf: fixes the issue in the <atomic> header and adds corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro). 2013-05-02 20:18:43 +00:00
libcxxabi Add capability to demangle invocation functions for ObjC blocks. 2013-04-10 19:44:03 +00:00
lld [lld][ELF] reduce the number of symbols emitted in the symbol table 2013-05-01 19:36:38 +00:00
lldb Added a few things that need to be installed on linux to build LLDB. 2013-05-03 16:29:42 +00:00
llvm LoopVectorizer: Add support for if-conversion of PHINodes with 3+ incoming values. 2013-05-03 17:42:55 +00:00
polly IndependentBlocks: We can only reconstruct PHI nodes that are within the ScoP 2013-04-17 07:20:36 +00:00