History log of /llvm-project/llvm/lib/Target/Mips/MipsFrameLowering.cpp (Results 26 – 50 of 76)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# beda2241 31-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

When store nodes or memcpy nodes are created to copy the function call
arguments to the stack in MipsISelLowering::LowerCall, use stack pointer and
integer offset operands rather than frame object op

When store nodes or memcpy nodes are created to copy the function call
arguments to the stack in MipsISelLowering::LowerCall, use stack pointer and
integer offset operands rather than frame object operands.

llvm-svn: 161068

show more ...


# 5a69c235 25-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

Eliminate the stack slot used to save the global base register.

The long branch pass (fixed in r160601) no longer uses the global base register
to compute addresses of branch destinations, so it is

Eliminate the stack slot used to save the global base register.

The long branch pass (fixed in r160601) no longer uses the global base register
to compute addresses of branch destinations, so it is not necessary to reserve
a slot on the stack.

llvm-svn: 160703

show more ...


# 26e9ecb7 23-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

Add basic ability to setup call frame, and make procedure calls.
Hello world will compile and execute with this patch.

Patch by Reed Kotler.

llvm-svn: 160651


# b49c68a6 21-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

Revert accidental commit.

llvm-svn: 160598


# f73e3627 21-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

Add VK_Mips_HIGHER and VK_Mips_HIGHEST to MCSymbolRefExpr::VariantKind.

Test case will be added later when long branch patch is checked in.

llvm-svn: 160597


# 878ad8b2 11-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

Lower RETURNADDR node in Mips backend.

Patch by Sasa Stankovic.

llvm-svn: 160031


# efff7b76 10-Jul-2012 Akira Hatanaka <ahatanaka@mips.com>

Make register Mips::RA allocatable if not in mips16 mode.

llvm-svn: 159971


# 62871a34 27-Jun-2012 Akira Hatanaka <ahatanaka@mips.com>

Fix bug in computation of stack size in MipsFrameLowering.cpp.

llvm-svn: 159240


# 765c3123 21-Jun-2012 Akira Hatanaka <ahatanaka@mips.com>

1. fix null program output after some other changes
2. re-enable null.ll test
3. fix some minor style violations

Patch by Reed Kotler.

llvm-svn: 158935


# 5fd22485 14-Jun-2012 Akira Hatanaka <ahatanaka@mips.com>

Fix coding style violations. Remove white spaces and tabs.

llvm-svn: 158471


# 2372c8bb 14-Jun-2012 Akira Hatanaka <ahatanaka@mips.com>

In MipsFrameLowering::emitPrologue and emitEpilogue, call Mips::loadImmediate
to load an immediate that does not fit into 16-bit. Also, take into
consideration the global base register slot on the st

In MipsFrameLowering::emitPrologue and emitEpilogue, call Mips::loadImmediate
to load an immediate that does not fit into 16-bit. Also, take into
consideration the global base register slot on the stack when computing the
stack size.

llvm-svn: 158430

show more ...


# ad8103dc 30-May-2012 Jakob Stoklund Olesen <stoklund@2pi.dk>

Fix some uses of getSubRegisters() to use getSubReg() instead.

It is better to address sub-registers directly by name instead of
relying on their position in the sub-register list.

llvm-svn: 157703


Revision tags: llvmorg-3.1.0
# c980f845 12-May-2012 Akira Hatanaka <ahatanaka@mips.com>

Make the following changes in MipsFrameLowering.cpp:

- Stop emitting instructions needed to initialize the global pointer register.
- Stop emitting .cprestore directive.
- Do not take into account t

Make the following changes in MipsFrameLowering.cpp:

- Stop emitting instructions needed to initialize the global pointer register.
- Stop emitting .cprestore directive.
- Do not take into account the $gp save slot when computing stack size.

llvm-svn: 156691

show more ...


Revision tags: llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2
# c7242e05 20-Apr-2012 Craig Topper <craig.topper@gmail.com>

Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent.

llvm-svn: 155188


Revision tags: llvmorg-3.1.0-rc1
# 34ee3ff8 28-Mar-2012 Akira Hatanaka <ahatanaka@mips.com>

Emit all directives except for ".cprestore" during asm printing rather than emit
them as machine instructions. Directives ".set noat" and ".set at" are now
emitted only at the beginning and end of a

Emit all directives except for ".cprestore" during asm printing rather than emit
them as machine instructions. Directives ".set noat" and ".set at" are now
emitted only at the beginning and end of a function except in the case where
they are emitted to enclose .cpload with an immediate operand that doesn't fit
in 16-bit field or unaligned load/stores.

Also, make the following changes:
- Remove function isUnalignedLoadStore and use a switch-case statement to
determine whether an instruction is an unaligned load or store.

- Define helper function CreateMCInst which generates an instance of an MCInst
from an opcode and a list of operands.

llvm-svn: 153552

show more ...


# b25fda95 17-Mar-2012 Craig Topper <craig.topper@gmail.com>

Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations.

llvm-svn: 152997


# 4b02a29e 05-Mar-2012 Craig Topper <craig.topper@gmail.com>

Convert more GenRegisterInfo tables from unsigned to uint16_t to reduce static data size.

llvm-svn: 152016


# f54f60f3 28-Feb-2012 Jia Liu <proljc@gmail.com>

remove blanks, and some code format

llvm-svn: 151625


# b049aef2 24-Feb-2012 Akira Hatanaka <ahatanaka@mips.com>

Add an option to use a virtual register as the global base register instead of
reserving a physical register ($gp or $28) for that purpose.

This will completely eliminate loads that restore the valu

Add an option to use a virtual register as the global base register instead of
reserving a physical register ($gp or $28) for that purpose.

This will completely eliminate loads that restore the value of $gp after every
function call, if the register allocator assigns a callee-saved register, or
eliminate unnecessary loads if it assigns a temporary register.

example:

.cpload $25 // set $gp.
...
.cprestore 16 // store $gp to stack slot 16($sp).
...
jalr $25 // function call. clobbers $gp.
lw $gp, 16($sp) // not emitted if callee-saved reg is chosen.
...
lw $2, 4($gp)
...
jalr $25 // function call.
lw $gp, 16($sp) // not emitted if $gp is not live after this instruction.
...

llvm-svn: 151402

show more ...


# 9f610119 17-Feb-2012 Jia Liu <proljc@gmail.com>

remove Emacs-tag form .cpp files in Mips Backend, and fix some typo.

llvm-svn: 150805


# 012f041b 25-Jan-2012 Akira Hatanaka <ahatanaka@mips.com>

Mark 64-bit register RA_64 unused too.


llvm-svn: 148918


# 01d3c42f 25-Jan-2012 Akira Hatanaka <ahatanaka@mips.com>

Modify MipsFrameLowering::emitPrologue and emitEpilogue.

- Use MipsAnalyzeImmediate to expand immediates that do not fit in 16-bit.
- Change the types of variables so that they are sufficiently larg

Modify MipsFrameLowering::emitPrologue and emitEpilogue.

- Use MipsAnalyzeImmediate to expand immediates that do not fit in 16-bit.
- Change the types of variables so that they are sufficiently large to handle
64-bit pointers.
- Emit instructions to set register $28 in a function prologue after
instructions which store callee-saved registers have been emitted.


llvm-svn: 148917

show more ...


# 50f02cb2 02-Dec-2011 Nick Lewycky <nicholas@mxc.ca>

Move global variables in TargetMachine into new TargetOptions class. As an API
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.

One small functionality c

Move global variables in TargetMachine into new TargetOptions class. As an API
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.

One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.

llvm-svn: 145714

show more ...


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4
# 6ee8fc88 15-Nov-2011 Akira Hatanaka <ahatanaka@mips.com>

Fix functions in MipsFrameLowering.cpp and MipsRegisterInfo.cpp. Use 64-bit
registers and instructions when ABI is N64.

llvm-svn: 144666


# 49491327 15-Nov-2011 Akira Hatanaka <ahatanaka@mips.com>

Set nomacro before emitting the sequence of instructions that set global pointer
register.

llvm-svn: 144665


1234