History log of /llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp (Results 301 – 325 of 502)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a57b97e7 21-Jul-2010 Owen Anderson <resistor@mac.com>

Fix batch of converting RegisterPass<> to INTIALIZE_PASS().

llvm-svn: 109045


# c280fc75 08-Jul-2010 Jim Grosbach <grosbach@apple.com>

Clean up scavengeRegister() a bit to prefer available regs, which allows
the simplification of frame index register scavenging to not have to check
for available registers directly and instead just l

Clean up scavengeRegister() a bit to prefer available regs, which allows
the simplification of frame index register scavenging to not have to check
for available registers directly and instead just let scavengeRegister()
handle it.

llvm-svn: 107880

show more ...


# 6533f243 08-Jul-2010 Jim Grosbach <grosbach@apple.com>

When processing frame index virtual registers, consider all available registers
(if there are any) and use the one which remains available for the longest
rather than just using the first one. This s

When processing frame index virtual registers, consider all available registers
(if there are any) and use the one which remains available for the longest
rather than just using the first one. This should help enable better re-use
of the loaded frame index values. rdar://7318760

llvm-svn: 107847

show more ...


# 0664a67f 03-Jul-2010 Evan Cheng <evan.cheng@apple.com>

Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.

llvm-svn: 107550


# 3c432485 02-Jul-2010 Jim Grosbach <grosbach@apple.com>

Custom inserters (e.g., conditional moves in Thumb1 can introduce
new basic blocks, and if used as a function argument, that can cause call frame
setup / destroy pairs to be split across a basic bloc

Custom inserters (e.g., conditional moves in Thumb1 can introduce
new basic blocks, and if used as a function argument, that can cause call frame
setup / destroy pairs to be split across a basic block boundary. That prevents
us from doing a simple assertion to check that the pairs match and alloc/
dealloc the same amount of space. Modify the assertion to only check the
amount allocated when there are matching pairs in the same basic block.

rdar://8022442

llvm-svn: 107517

show more ...


# 4d887f7c 02-Jul-2010 Dale Johannesen <dalej@apple.com>

Propagate the AlignStack bit in InlineAsm's to the
PrologEpilog code, and use it to determine whether
the asm forces stack alignment or not. gcc consistently
does not do this for GCC-style asms; Ap

Propagate the AlignStack bit in InlineAsm's to the
PrologEpilog code, and use it to determine whether
the asm forces stack alignment or not. gcc consistently
does not do this for GCC-style asms; Apple gcc inconsistently
sometimes does it for asm blocks. There is no
convenient place to put a bit in either the SDNode or
the MachineInstr form, so I've added an extra operand
to each; unlovely, but it does allow for expansion for
more bits, should we need it. PR 5125. Some
existing testcases are affected.
The operand lists of the SDNode and MachineInstr forms
are indexed with awesome mnemonics, like "2"; I may
fix this someday, but not now. I'm not making it any
worse. If anyone is inspired I think you can find all
the right places from this patch.

llvm-svn: 107506

show more ...


# f2dffcef 02-Jun-2010 Rafael Espindola <rafael.espindola@gmail.com>

Remove the TargetRegisterClass member from CalleeSavedInfo

llvm-svn: 105344


# c08ecba5 02-Jun-2010 Rafael Espindola <rafael.espindola@gmail.com>

Remove uses of getCalleeSavedRegClasses from outside the
backends and removes the virtual declaration. With that out of the way
I should be able to cleanup one backend at a time.

llvm-svn: 105321


# 168ced94 22-May-2010 Evan Cheng <evan.cheng@apple.com>

Implement @llvm.returnaddress. rdar://8015977.

llvm-svn: 104421


# 95f6ebcb 14-May-2010 Bill Wendling <isanbard@gmail.com>

Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what
the variable actually tracks.

N.B., several back-ends are using "HasCalls" as being synonymous for something
that adju

Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what
the variable actually tracks.

N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.

llvm-svn: 103802

show more ...


# efb126a6 06-May-2010 Evan Cheng <evan.cheng@apple.com>

Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.

llvm-svn: 103193


# 1e679cbf 03-May-2010 Eric Christopher <echristo@apple.com>

Reword a comment slightly.

llvm-svn: 102966


# 6feac8a3 29-Apr-2010 Dale Johannesen <dalej@apple.com>

Make naked functions work on PPC.

llvm-svn: 102657


Revision tags: llvmorg-2.7.0
# dcacef31 13-Apr-2010 Dan Gohman <gohman@apple.com>

Rename MachineFrameInfo variables to MFI, for consistency with
the rest of CodeGen.

llvm-svn: 101146


# 82ff9af0 05-Apr-2010 Chris Lattner <sabre@nondot.org>

remove the MMI pointer from MachineFrameInfo.

llvm-svn: 100415


# e6201784 10-Mar-2010 Jim Grosbach <grosbach@apple.com>

Clear up the last (famous last words) frame index value reuse issues for Thumb1.

llvm-svn: 98109


# fae913ad 09-Mar-2010 Jim Grosbach <grosbach@apple.com>

Change the Value argument to eliminateFrameIndex to a type-tagged value. This
is preparatory to having PEI's scavenged frame index value reuse logic
properly distinguish types of frame values (e.g.,

Change the Value argument to eliminateFrameIndex to a type-tagged value. This
is preparatory to having PEI's scavenged frame index value reuse logic
properly distinguish types of frame values (e.g., whether the value is
stack-pointer relative or frame-pointer relative).

No functionality change.

llvm-svn: 98086

show more ...


# 45fceea0 22-Feb-2010 Jim Grosbach <grosbach@apple.com>

Updated version of r96634 (which was reverted due to failing 176.gcc and
126.gcc nightly tests. These failures uncovered latent bugs that machine DCE
could remove one half of a stack adjust down/up p

Updated version of r96634 (which was reverted due to failing 176.gcc and
126.gcc nightly tests. These failures uncovered latent bugs that machine DCE
could remove one half of a stack adjust down/up pair, causing PEI to assert.
This update fixes that, and the tests now pass.

llvm-svn: 96822

show more ...


# fbc9d8d4 19-Feb-2010 Bob Wilson <bob.wilson@apple.com>

Revert 96634. It causes assertion failures for 126.gcc and 176.gcc in
the armv6 nightly tests.

llvm-svn: 96691


# aa34003f 19-Feb-2010 Jim Grosbach <grosbach@apple.com>

Radar 7636153. In the presence of large call frames, it's not sufficient
for ARM to just check if a function has a FP to determine if it's safe
to simplify the stack adjustment pseudo ops prior to el

Radar 7636153. In the presence of large call frames, it's not sufficient
for ARM to just check if a function has a FP to determine if it's safe
to simplify the stack adjustment pseudo ops prior to eliminating frame
indices. Allow targets to override the default behavior and does so for ARM
and Thumb2.

llvm-svn: 96634

show more ...


# 3b065cdb 13-Feb-2010 Evan Cheng <evan.cheng@apple.com>

Teach MachineFrameInfo to track maximum alignment while stack objects are being
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know wheth

Teach MachineFrameInfo to track maximum alignment while stack objects are being
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know whether it is required and whether frame
pointer register cannot be made available register allocation.
This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test
case.

llvm-svn: 96069

show more ...


# b06015aa 09-Feb-2010 Chris Lattner <sabre@nondot.org>

move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start u

move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.

llvm-svn: 95687

show more ...


# 798e1e6f 28-Dec-2009 Bill Wendling <isanbard@gmail.com>

Remove dead store.

llvm-svn: 92187


# fc51282c 11-Dec-2009 Anton Korobeynikov <asl@math.spbu.ru>

Honour setHasCalls() set from isel.
This is used in some weird cases like general dynamic TLS model.
This fixes PR5723

llvm-svn: 91144


# a48f44d9 03-Dec-2009 Chris Lattner <sabre@nondot.org>

improve portability to avoid conflicting with std::next in c++'0x.
Patch by Howard Hinnant!

llvm-svn: 90365


1...<<1112131415161718192021