llvm-project/llvm/lib
Chandler Carruth 0af6a0bb69 Begin chipping away at one of the biggest quadratic-ish behaviors in
this pass. We're leaving already merged blocks on the worklist, and
scanning them again and again only to determine each time through that
indeed they aren't viable. We can instead remove them once we're going
to have to scan the worklist. This is the easy way to implement removing
them. If this remains on the profile (as I somewhat suspect it will), we
can get a lot more clever here, as the worklist's order is essentially
irrelevant. We can use swapping and fold the two loops to reduce
overhead even when there are many blocks on the worklist but only a few
of them are removed.

llvm-svn: 144531
2011-11-14 09:46:33 +00:00
..
Analysis Don't try to loop on iterators that are potentially invalidated inside the loop. Fixes PR11361! 2011-11-12 03:09:12 +00:00
Archive build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
AsmParser build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Bitcode build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
CodeGen Begin chipping away at one of the biggest quadratic-ish behaviors in 2011-11-14 09:46:33 +00:00
DebugInfo Audited all the format strings in libDebugInfo and fixed those that didn't match the types. 2011-11-05 16:01:13 +00:00
ExecutionEngine Fixed the MCJIT so that it can emit not only instance 2011-11-12 02:31:32 +00:00
Linker build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
MC build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
Object build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
Support Fix a typo. 2011-11-06 20:36:50 +00:00
TableGen ARM vldm and vstm VFP instructions can take a data type suffix. 2011-11-11 23:08:10 +00:00
Target Add AVX2 version of instructions to load folding tables. Also add a bunch of missing SSE/AVX instructions. 2011-11-14 08:07:55 +00:00
Transforms build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
VMCore build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00