1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/lib/Transforms
Chris Lattner 9b53c7c797 Fix a major pessimization in the instcombiner. If an allocation instruction
is only used by a cast, and the casted type is the same size as the original
allocation, it would eliminate the cast by folding it into the allocation.

Unfortunately, it was placing the new allocation instruction right before
the cast, which could pull (for example) alloca instructions into the body
of a function.  This turns statically allocatable allocas into expensive
dynamically allocated allocas, which is bad bad bad.

This fixes the problem by placing the new allocation instruction at the same
place the old one was, duh. :)

llvm-svn: 13289
2004-04-30 04:37:52 +00:00
..
Hello Finegrainify namespacification 2004-01-09 06:12:26 +00:00
Instrumentation Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
IPO Clarify the logic: the flag is renamed to `deleteFn' to signify it will delete 2004-04-22 23:00:51 +00:00
Scalar Fix a major pessimization in the instcombiner. If an allocation instruction 2004-04-30 04:37:52 +00:00
Utils * Allow aggregating extracted function arguments (controlled by flag) 2004-04-23 23:54:17 +00:00
ExprTypeConvert.cpp Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
LevelRaise.cpp Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
Makefile Added LLVM copyright notice to Makefiles. 2003-10-20 22:26:57 +00:00
TransformInternals.cpp Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
TransformInternals.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00