mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
8848680ce0
This is basically the same fix in three different places. We use a set to avoid walking the whole tree of a big ConstantExprs multiple times. For example: (select cmp, (add big_expr 1), (add big_expr 2)) We don't want to visit big_expr twice here, it may consist of thousands of nodes. The testcase exercises this by creating an insanely large ConstantExprs out of a loop. It's questionable if the optimizer should ever create those, but this can be triggered with real C code. Fixes PR15714. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179458 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
ArgumentPromotion.cpp | ||
BarrierNoopPass.cpp | ||
CMakeLists.txt | ||
ConstantMerge.cpp | ||
DeadArgumentElimination.cpp | ||
ExtractGV.cpp | ||
FunctionAttrs.cpp | ||
GlobalDCE.cpp | ||
GlobalOpt.cpp | ||
InlineAlways.cpp | ||
Inliner.cpp | ||
InlineSimple.cpp | ||
Internalize.cpp | ||
IPConstantPropagation.cpp | ||
IPO.cpp | ||
LLVMBuild.txt | ||
LoopExtractor.cpp | ||
Makefile | ||
MergeFunctions.cpp | ||
PartialInlining.cpp | ||
PassManagerBuilder.cpp | ||
PruneEH.cpp | ||
StripDeadPrototypes.cpp | ||
StripSymbols.cpp |