1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib/Transforms
Shuxin Yang a7c032d8b5 rdar://12100355 (part 1)
This revision attempts to recognize following population-count pattern:

 while(a) { c++; ... ; a &= a - 1; ... },
  where <c> and <a>could be used multiple times in the loop body.

 TODO: On X8664 and ARM, __buildin_ctpop() are not expanded to a efficent 
instruction sequence, which need to be improved in the following commits.

Reviewed by Nadav, really appreciate!

llvm-svn: 168931
2012-11-29 19:38:54 +00:00
..
Hello
InstCombine instcombine: Don't replace all uses for instructions with no uses 2012-11-27 18:52:49 +00:00
Instrumentation [ASan] Simplify check added in r168861. Bail out from module pass early if the module is blacklisted. 2012-11-29 18:27:01 +00:00
IPO No need to run LICM after loop vectorization because we dont generate invariant code any more. 2012-11-29 19:28:29 +00:00
Scalar rdar://12100355 (part 1) 2012-11-29 19:38:54 +00:00
Utils instcombine: Migrate puts optimizations 2012-11-29 19:15:17 +00:00
Vectorize When broadcasting invariant scalars into vectors, place the broadcast code in the preheader. 2012-11-29 19:25:41 +00:00
CMakeLists.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
LLVMBuild.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
Makefile Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00