#
257492c0 |
| 13-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Fix a bug I noticed by inspection: if the first instruction in the inlined function was not an alloca, we wouldn't check the entry block for any allocas, leading to increased stack space in some case
Fix a bug I noticed by inspection: if the first instruction in the inlined function was not an alloca, we wouldn't check the entry block for any allocas, leading to increased stack space in some cases. In practice, allocas are almost always at the top of the block, so this was never noticed.
llvm-svn: 25280
show more ...
|
Revision tags: llvmorg-1.6.0 |
|
#
5f4ef3c5 |
| 27-Jul-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Eliminate all remaining tabs and trailing spaces.
llvm-svn: 22523
|
Revision tags: llvmorg-1.5.0 |
|
#
21d1dde7 |
| 09-May-2005 |
Chris Lattner <sabre@nondot.org> |
wrap long lines, preserve calling conventions when cloning functions and turning calls into invokes
llvm-svn: 21797
|
#
7effa0ed |
| 06-May-2005 |
Chris Lattner <sabre@nondot.org> |
BAD typeo which caused many testsuite failures last night. Note to self, do not change code after testing it without retesting!
llvm-svn: 21741
|
#
9f3dced2 |
| 06-May-2005 |
Chris Lattner <sabre@nondot.org> |
Implement Transforms/Inline/inline-tail.ll
llvm-svn: 21736
|
#
b1c9317b |
| 21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace
llvm-svn: 21427
|
#
531f9e92 |
| 15-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
This mega patch converts us from using Function::a{iterator|begin|end} to using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif
This mega patch converts us from using Function::a{iterator|begin|end} to using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
show more ...
|
#
ffefea07 |
| 11-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
The split bb is really the exit of the old function
llvm-svn: 18799
|
Revision tags: llvmorg-1.4.0 |
|
#
6e79e55a |
| 17-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Fix Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
If a function had no return instruction in it, and the result of the inlined call instruction was used, we would crash.
ll
Fix Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
If a function had no return instruction in it, and the result of the inlined call instruction was used, we would crash.
llvm-svn: 17104
show more ...
|
#
66149464 |
| 15-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Convert code to compile with vc7.1.
Patch contributed by Paolo Invernizzi. Thanks Paolo!
llvm-svn: 16368
|
Revision tags: llvmorg-1.3.0 |
|
#
45b50d14 |
| 20-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a serious code pessimization problem. If an inlined function has a single return, clone the 'ret' BB code into the block AFTER the inlined call, not the other way around.
llvm-svn: 15030
|
#
0328d75c |
| 16-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Fix Inline/2004-04-15-InlineDeletesCall.ll
Basically we were using SimplifyCFG as a huge sledgehammer for a simple optimization. Because simplifycfg does so many things, we can't use it for this pu
Fix Inline/2004-04-15-InlineDeletesCall.ll
Basically we were using SimplifyCFG as a huge sledgehammer for a simple optimization. Because simplifycfg does so many things, we can't use it for this purpose.
llvm-svn: 12977
show more ...
|
Revision tags: llvmorg-1.2.0 |
|
#
283ffdfa |
| 13-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Fix compilation of 126.gcc: intrinsic functions cannot throw, so they are not allowed in invoke instructions. Thus, if we are inlining a call to an intrinsic function into an invoke site, we don't n
Fix compilation of 126.gcc: intrinsic functions cannot throw, so they are not allowed in invoke instructions. Thus, if we are inlining a call to an intrinsic function into an invoke site, we don't need to turn the call into an invoke!
llvm-svn: 11384
show more ...
|
#
fae8ab30 |
| 08-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
rename the "exceptional" destination of an invoke instruction to the 'unwind' dest
llvm-svn: 11202
|
#
6f8865bf |
| 04-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Two changes: 1. Don't scan to the end of alloca instructions in the caller function to insert inlined allocas, just insert at the top. This saves a lot of time inlining into functions wi
Two changes: 1. Don't scan to the end of alloca instructions in the caller function to insert inlined allocas, just insert at the top. This saves a lot of time inlining into functions with a lot of allocas. 2. Use splice to move the alloca instructions over, instead of remove/insert. This allows us to transfer a block at a time, and eliminates a bunch of silly symbol table manipulations.
This speeds up the inliner on the testcase in PR209 from 1.73s -> 1.04s (67%)
llvm-svn: 11118
show more ...
|
#
0fa8c7c3 |
| 04-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Optimize the case where we are inlining a function that contains only one basic block, and that basic block ends with a return instruction. In this case, we can just splice the cloned "body" of the
Optimize the case where we are inlining a function that contains only one basic block, and that basic block ends with a return instruction. In this case, we can just splice the cloned "body" of the function directly into the source basic block, avoiding a lot of rearrangement and splitBasicBlock's linear scan over the split block. This speeds up the inliner on the testcase in PR209 from 2.3s to 1.7s, a 35% reduction.
llvm-svn: 11116
show more ...
|
#
18ef3fda |
| 04-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
More refactoring. Move alloca instructions and handle invoke instructions before we delete the original call site, allowing slight simplifications of code, but nothing exciting.
llvm-svn: 11109
|
#
9fc977ea |
| 04-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Move the cloning of the function body much earlier in the inlinefunction process. The only optimization we did so far is to avoid creating a PHI node, then immediately destroying it in the common ca
Move the cloning of the function body much earlier in the inlinefunction process. The only optimization we did so far is to avoid creating a PHI node, then immediately destroying it in the common case where the callee has one return statement. Instead, we just don't create the return value. This has no noticable performance impact, but paves the way for future improvements.
llvm-svn: 11108
show more ...
|
#
df3c342a |
| 09-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Finegrainify namespacification
llvm-svn: 10727
|
Revision tags: llvmorg-1.1.0 |
|
#
2af51728 |
| 20-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Start using the nicer terminator auto-insertion API
llvm-svn: 10111
|
#
960707c3 |
| 11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
|
#
d9f4ffdf |
| 27-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Get the list of PHI node values before the basic block is split. Also, add PHI node entries for unwind instructions just like for call instructions which became invokes! This fixes PR57, tested by
Get the list of PHI node values before the basic block is split. Also, add PHI node entries for unwind instructions just like for call instructions which became invokes! This fixes PR57, tested by Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll
llvm-svn: 9526
show more ...
|
Revision tags: llvmorg-1.0.0 |
|
#
482202a6 |
| 20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM project notice to the top of every C++ source file. Header files will be on the way.
llvm-svn: 9298
|
#
b4778c73 |
| 14-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Do not move variable sized allocations to the top of the caller, which might break dominance relationships, and is otherwise bad. This fixes bug: Inline/2003-10-13-AllocaDominanceProblem.ll. This a
Do not move variable sized allocations to the top of the caller, which might break dominance relationships, and is otherwise bad. This fixes bug: Inline/2003-10-13-AllocaDominanceProblem.ll. This also fixes miscompilation of 3 176.gcc source files (reload1.c, global.c, flow.c)
llvm-svn: 9109
show more ...
|
#
6aa34b0d |
| 06-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Avoid doing pointless work. Amazingly, this makes us go faster.
Running the inliner on 252.eon used to take 48.4763s, now it takes 14.4148s.
In release mode, it went from taking 25.8741s to taking
Avoid doing pointless work. Amazingly, this makes us go faster.
Running the inliner on 252.eon used to take 48.4763s, now it takes 14.4148s.
In release mode, it went from taking 25.8741s to taking 11.5712s.
This also fixes a FIXME.
llvm-svn: 8890
show more ...
|