llvm-6502/lib/Transforms
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
..
Hello Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombine InstCombine: Check the operand types before merging fcmp ord & fcmp ord. 2013-04-12 21:56:23 +00:00
Instrumentation [ASan] Allow disabling init-order checks for globals by source file name. 2013-04-11 13:20:00 +00:00
IPO Fix a scalability issue with complex ConstantExprs. 2013-04-13 12:53:18 +00:00
ObjCARC Fix some comment typos. 2013-04-09 22:15:51 +00:00
Scalar Redo the fix Benjamin Kramer committed in r178793 about iterator invalidation in Reassociate. 2013-04-08 22:00:43 +00:00
Utils Change CloneFunctionInto to always clone Argument attributes induvidually, 2013-04-10 10:37:38 +00:00
Vectorize SLPVectorizer: add support for vectorization of diamond shaped trees. We now perform a preliminary traversal of the graph to collect values with multiple users and check where the users came from. 2013-04-12 21:16:54 +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