llvm-6502/lib
Benjamin Kramer 8848680ce0 Fix a scalability issue with complex ConstantExprs.
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
2013-04-13 12:53:18 +00:00
..
Analysis Fix a scalability issue with complex ConstantExprs. 2013-04-13 12:53:18 +00:00
Archive
AsmParser
Bitcode
CodeGen MI-Sched: DEBUG formatting. 2013-04-13 06:07:49 +00:00
DebugInfo
ExecutionEngine Revert r179409 because it caused some warnings and some of the build bots fail. 2013-04-12 22:02:26 +00:00
IR Fix a scalability issue with complex ConstantExprs. 2013-04-13 12:53:18 +00:00
IRReader
Linker
MC [ms-inline asm] Add the implementation for the AOK_Delete kind, which was added 2013-04-12 16:26:42 +00:00
Object Finish templating MachObjectFile over endianness. 2013-04-13 01:45:40 +00:00
Option
Support Add a function to check if an argument list is too long. 2013-04-11 14:06:34 +00:00
TableGen
Target Spill and restore PPC CR registers using the FP when we have one 2013-04-13 08:09:20 +00:00
Transforms Fix a scalability issue with complex ConstantExprs. 2013-04-13 12:53:18 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile