#
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
|