llvm-project/llvm/lib/Transforms
Chandler Carruth 3f5e7b1fb6 [PM] Use a SmallVector instead of std::vector to avoid heap allocations
for small switches, and avoid using a complex loop to set up the
weights.

We know what the baseline weights will be so we can just resize the
vector to contain all that value and clobber the one slot that is
likely. This seems much more direct than the previous code that tested
at every iteration, and started off by zeroing the vector.

llvm-svn: 226995
2015-01-24 10:47:13 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
IPO [PM] Lift the analyses into the interface for 2015-01-19 03:03:39 +00:00
InstCombine [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
Instrumentation [ASan/Win] Move the shadow to 0x30000000 2015-01-22 12:24:21 +00:00
ObjCARC IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Scalar [PM] Use a SmallVector instead of std::vector to avoid heap allocations 2015-01-24 10:47:13 +00:00
Utils [PM] Move the LowerExpectIntrinsic pass to the Scalar library. 2015-01-24 10:18:47 +00:00
Vectorize Silencing a -Wsign-compare warning (all uses of this constant are within unsigned expressions anyway); NFC. 2015-01-22 13:57:41 +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