History log of /llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp (Results 351 – 375 of 502)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c2c86ced 23-Sep-2009 Bob Wilson <bob.wilson@apple.com>

Edit a comment.

llvm-svn: 82641


# 8c33d67f 18-Sep-2009 Bob Wilson <bob.wilson@apple.com>

Fix a comment typo and some whitespace.

llvm-svn: 82285


# 09395957 22-Aug-2009 Devang Patel <dpatel@apple.com>

Record variable debug info at ISel time directly.

llvm-svn: 79742


# 4af3c864 15-Aug-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Don't setCalleeSavedInfoValid() until spills are interted.

In a naked function, the flag is never set and getPristineRegs() returns an
empty list. That means naked functions are able to clobber call

Don't setCalleeSavedInfoValid() until spills are interted.

In a naked function, the flag is never set and getPristineRegs() returns an
empty list. That means naked functions are able to clobber callee saved
registers, but that is the whole point of naked functions.

This fixes PR4716.

llvm-svn: 79096

show more ...


# 3de4a60e 13-Aug-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add MachineFrameInfo::getPristineRegisters(MBB) method.

llvm-svn: 78911


# 0402315d 31-Jul-2009 Dan Gohman <gohman@apple.com>

Use setPreservesAll and setPreservesCFG in CodeGen passes.

llvm-svn: 77754


# 5ea74d55 31-Jul-2009 Dan Gohman <gohman@apple.com>

Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage
shouldn't do AU.setPreservesCFG(), because even though CodeGen passes
don't modify the LLVM IR CFG, they may modify the MachineFuncti

Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage
shouldn't do AU.setPreservesCFG(), because even though CodeGen passes
don't modify the LLVM IR CFG, they may modify the MachineFunction CFG,
and passes like MachineLoop are registered with isCFGOnly set to true.

llvm-svn: 77691

show more ...


# 54347565 31-Jul-2009 Daniel Dunbar <daniel@zuster.org>

Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and many
failures when building assorted projects with clang.

--- Reverse-merging r77654 into '.':
U include/llvm/CodeGen/Pass

Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and many
failures when building assorted projects with clang.

--- Reverse-merging r77654 into '.':
U include/llvm/CodeGen/Passes.h
U include/llvm/CodeGen/MachineFunctionPass.h
U include/llvm/CodeGen/MachineFunction.h
U include/llvm/CodeGen/LazyLiveness.h
U include/llvm/CodeGen/SelectionDAGISel.h
D include/llvm/CodeGen/MachineFunctionAnalysis.h
U include/llvm/Function.h
U lib/Target/CellSPU/SPUISelDAGToDAG.cpp
U lib/Target/PowerPC/PPCISelDAGToDAG.cpp
U lib/CodeGen/LLVMTargetMachine.cpp
U lib/CodeGen/MachineVerifier.cpp
U lib/CodeGen/MachineFunction.cpp
U lib/CodeGen/PrologEpilogInserter.cpp
U lib/CodeGen/MachineLoopInfo.cpp
U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
D lib/CodeGen/MachineFunctionAnalysis.cpp
D lib/CodeGen/MachineFunctionPass.cpp
U lib/CodeGen/LiveVariables.cpp

llvm-svn: 77661

show more ...


# bcb44baa 31-Jul-2009 Dan Gohman <gohman@apple.com>

Manage MachineFunctions with an analysis Pass instead of the Annotable
mechanism. To support this, make MachineFunctionPass a little more
complete.

llvm-svn: 77654


# c8ce7b08 17-Jul-2009 Anton Korobeynikov <asl@math.spbu.ru>

Add support for naked functions

llvm-svn: 76198


# c4148c4e 16-Jul-2009 Dale Johannesen <dalej@apple.com>

Assume an inline asm might be a call, so we get
stack alignment right when it is. This is not
ideal but conservatively correct. Adjust a test
to compensate for changed stack offset value.
gcc.apple

Assume an inline asm might be a call, so we get
stack alignment right when it is. This is not
ideal but conservatively correct. Adjust a test
to compensate for changed stack offset value.
gcc.apple/asm-block-57.c

llvm-svn: 76120

show more ...


# b638a8fd 16-Jul-2009 Anton Korobeynikov <asl@math.spbu.ru>

Scan for presence of calls and determine max callframe size early. To allow ProcessFunctionBeforeCalleeSaveScan() use this information

llvm-svn: 75942


# 7452c968 09-Jul-2009 Evan Cheng <evan.cheng@apple.com>

Targets sometimes assign fixed stack object to spill certain callee-saved
registers based on dynamic conditions. For example, X86 EBP/RBP, when used as
frame register has to be spilled in the first f

Targets sometimes assign fixed stack object to spill certain callee-saved
registers based on dynamic conditions. For example, X86 EBP/RBP, when used as
frame register has to be spilled in the first fixed object. It should inform
PEI this so it doesn't get allocated another stack object. Also, it should not
be spilled as other callee-saved registers but rather its spilling and restoring
are being handled by emitPrologue and emitEpilogue. Avoid spilling it twice.

llvm-svn: 75116

show more ...


# 9242ff34 08-Jul-2009 Bill Wendling <isanbard@gmail.com>

Use interators instead of counters for loops.

llvm-svn: 75046


# 4f915313 13-May-2009 Jim Grosbach <grosbach@apple.com>

Removing the HasBuiltinSetjmp flag and associated bits. Flagging the presence
of exception handling builtin sjlj targets in functions turns out not to
be necessary. Marking the intrinsic implementat

Removing the HasBuiltinSetjmp flag and associated bits. Flagging the presence
of exception handling builtin sjlj targets in functions turns out not to
be necessary. Marking the intrinsic implementation in the .td file as
defining all registers is sufficient to get the context saved properly by
the containing function.

llvm-svn: 71743

show more ...


# ce06bb8a 13-May-2009 John Mosby <ojomojo@gmail.com>

PEI: rename PEI.h to PrologEpilogInserter.h to adhere to file naming standard

llvm-svn: 71678


# aeca45dd 12-May-2009 Jim Grosbach <grosbach@apple.com>

Add support for GCC compatible builtin setjmp and longjmp intrinsics. This is
a supporting preliminary patch for GCC-compatible SjLJ exception handling. Note that these intrinsics are not designed to

Add support for GCC compatible builtin setjmp and longjmp intrinsics. This is
a supporting preliminary patch for GCC-compatible SjLJ exception handling. Note that these intrinsics are not designed to be invoked directly by the user, but
rather used by the front-end as target hooks for exception handling.

llvm-svn: 71610

show more ...


# faec4fd0 12-May-2009 John Mosby <ojomojo@gmail.com>

Restructure PEI code:

- moved shrink wrapping code from PrologEpilogInserter.cpp to
new file ShrinkWrapping.cpp.

- moved PEI pass definition into new shared header PEI.h.

llvm-svn: 71588


# 1988352f 11-May-2009 Evan Cheng <evan.cheng@apple.com>

Apply patch review feedback.

llvm-svn: 71472


# 2b1b9218 11-May-2009 Evan Cheng <evan.cheng@apple.com>

Unbreak non-debug build.

llvm-svn: 71457


# dd437d3a 11-May-2009 John Mosby <ojomojo@gmail.com>

Shrink wrapping in PEI:
- reduces _static_ callee saved register spills
and restores similar to Chow's original algorithm.
- iterative implementation with simple heuristic
limits to mitigate comp

Shrink wrapping in PEI:
- reduces _static_ callee saved register spills
and restores similar to Chow's original algorithm.
- iterative implementation with simple heuristic
limits to mitigate compile time impact.
- handles placing spills/restores for multi-entry,
multi-exit regions in the Machine CFG without
splitting edges.
- passes test-suite in LLCBETA mode.

Added contains() method to ADT/SparseBitVector.

llvm-svn: 71438

show more ...


# a1be2dcd 27-Mar-2009 John Mosby <ojomojo@gmail.com>

Shrink wrapping in PEI: initial release. Finishing development, enable with --shrink-wrap.

llvm-svn: 67828


# f413a888 24-Mar-2009 Evan Cheng <evan.cheng@apple.com>

Fix PR3845: Avoid stale MachineInstruction pointer reference.

llvm-svn: 67649


# f0db9b63 20-Mar-2009 Chris Lattner <sabre@nondot.org>

Apply the patch requested in PR3846.

llvm-svn: 67364


# 58bd3dcc 19-Mar-2009 Chris Lattner <sabre@nondot.org>

Fix PEI to not walk off the start of a block when an updated instruction
is the first in its block. This is PR3842.

llvm-svn: 67304


1...<<1112131415161718192021