llvm-6502/lib
Chris Lattner 5b5bc3032f Switch the inliner over to using CloneAndPruneFunctionInto. This effectively
makes it so that it constant folds instructions on the fly.  This is good
for several reasons:

0. Many instructions are constant foldable after inlining, particularly if
   inlining a call with constant arguments.
1. Without this, the inliner has to allocate memory for all of the instructions
   that can be constant folded, then a subsequent pass has to delete them.  This
   gets the job done without this extra work.
2. This makes the inliner *pass* a bit more aggressive: in particular, it
   partially solves a phase order issue where the inliner would inline lots
   of code that folds away to nothing, but think that the resultant function
   is big because of this code that will be gone.  Now the code never exists.

This is the first part of a 2-step process.  The second part will be smart
enough to see when this implicit constant folding propagates a constant into
a branch or switch instruction, making CFG edges dead.

This implements Transforms/Inline/inline_constprop.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28521 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27 01:28:04 +00:00
..
Analysis Patches to make the LLVM sources more -pedantic clean. Patch provided 2006-05-24 17:04:05 +00:00
Archive When reading the symbol table, make sure to delete the ArchiveMember 2006-05-12 17:56:20 +00:00
AsmParser Regenerate 2006-05-19 21:28:53 +00:00
Bytecode Fix a bug in the bc reader/writer: we were not correctly encoding varargs 2006-05-26 18:42:34 +00:00
CodeGen Fix a nasty dag combiner bug that caused nondeterminstic crashes (MY FAVORITE!): 2006-05-27 00:43:02 +00:00
Debugger Add the README files to the distribution. 2006-04-13 06:39:24 +00:00
ExecutionEngine For PR786: 2006-05-24 19:21:13 +00:00
Linker Add shufflevector support 2006-04-08 01:19:47 +00:00
Support Patches to make the LLVM sources more -pedantic clean. Patch provided 2006-05-24 17:04:05 +00:00
System Bug noticed, by inspection. Filename can be null. 2006-05-14 19:00:53 +00:00
Target Ignore generated files 2006-05-27 01:23:30 +00:00
Transforms Switch the inliner over to using CloneAndPruneFunctionInto. This effectively 2006-05-27 01:28:04 +00:00
VMCore Patches to make the LLVM sources more -pedantic clean. Patch provided 2006-05-24 17:04:05 +00:00
Makefile Make some changes suggested by Chris: 2006-05-17 22:55:35 +00:00