aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-01-19 13:57:58 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-01-19 13:57:58 +0000
commitd455ed85d114f11a6caf9db3e95685f40d6d86a2 (patch)
tree518f1c8bac797b3b1e750b7458f53bceece44df8 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
parenta8ceb7a8012faf60cfe23b95193c1dfb9bbe9942 (diff)
downloadllvm-d455ed85d114f11a6caf9db3e95685f40d6d86a2.zip
llvm-d455ed85d114f11a6caf9db3e95685f40d6d86a2.tar.gz
llvm-d455ed85d114f11a6caf9db3e95685f40d6d86a2.tar.bz2
LoopVectorizer: Emit memory checks into their own basic block.
This separates the check for "too few elements to run the vector loop" from the "memory overlap" check, giving a lot nicer code and allowing to skip the memory checks when we're not going to execute the vector code anyways. We still leave the decision of whether to emit the memory checks as branches or setccs, but it seems to be doing a good job. If ugly code pops up we may want to emit them as separate blocks too. Small speedup on MultiSource/Benchmarks/MallocBench/espresso. Most of this is legwork to allow multiple bypass blocks while updating PHIs, dominators and loop info. llvm-svn: 172902
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions