llvm-6502/lib/Transforms
Nadav Rotem 5290baacb8 PR14448 - prevent the loop vectorizer from vectorizing the same loop twice.
The LoopVectorizer often runs multiple times on the same function due to inlining.
When this happens the loop vectorizer often vectorizes the same loops multiple times, increasing code size and adding unneeded branches.
With this patch, the vectorizer during vectorization puts metadata on scalar loops and marks them as 'already vectorized' so that it knows to ignore them when it sees them a second time.

PR14448.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176399 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-02 01:33:49 +00:00
..
Hello Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombine Fix a bug in instcombine for fmul in fast math mode. 2013-02-28 21:12:40 +00:00
Instrumentation [msan] Implement sanitize_memory attribute. 2013-02-28 11:25:14 +00:00
IPO Retain the name of the new internal global that's been shrunk. 2013-02-13 23:00:51 +00:00
ObjCARC Fixed a careless mistake. 2013-02-23 00:31:32 +00:00
Scalar CVP: If we have a PHI with an incoming select, try to skip the select. 2013-02-24 15:34:43 +00:00
Utils Modify {Call,Invoke}Inst::addAttribute to take an AttrKind. 2013-03-02 01:20:18 +00:00
Vectorize PR14448 - prevent the loop vectorizer from vectorizing the same loop twice. 2013-03-02 01:33:49 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00