History log of /llvm-project/llvm/lib/Transforms/Utils/InlineFunction.cpp (Results 601 – 625 of 636)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


1...<<212223242526