| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
immediate operands to be copied.
Patch by Reed Kotler.
llvm-svn: 163811
|
| |
|
|
|
|
|
|
|
|
| |
the temporary register that was used to load the immediate. Currently, it always
returns register $at, but this will change if, in the future, we decide to use
another register.
No changes in functionality.
llvm-svn: 162417
|
| |
|
|
|
|
| |
of MipsTargetMachine.cpp.
llvm-svn: 161191
|
| |
|
|
|
|
| |
MipsSERegisterInfo.
llvm-svn: 161092
|
| |
|
|
|
|
| |
and MipsSEInstrInfo (for mips32/64).
llvm-svn: 161081
|
| |
|
|
|
|
|
|
| |
Hello world will compile and execute with this patch.
Patch by Reed Kotler.
llvm-svn: 160651
|
| |
|
|
| |
llvm-svn: 160598
|
| |
|
|
|
|
| |
Test case will be added later when long branch patch is checked in.
llvm-svn: 160597
|
| |
|
|
| |
llvm-svn: 159971
|
| |
|
|
| |
llvm-svn: 158471
|
| |
|
|
|
|
|
| |
compute the size of basic blocks in a function. Also, define a function which
emits a series of instructions to load an immediate.
llvm-svn: 158429
|
| |
|
|
|
|
|
| |
It is better to address sub-registers directly by name instead of
relying on their position in the sub-register list.
llvm-svn: 157703
|
| |
|
|
|
|
| |
Delete MipsExpandPseudo.
llvm-svn: 157495
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llc to recognize MIPS16 as a MIPS ASE extension. -mips16 will mean the
mips16 ASE for mips32 by default.
As part of fixing of adding this we discovered some small changes that
need to be made to MipsInstrInfo::storeRegToStackSLot and
MipsInstrInfo::loadRegFromStackSlot. We were using some "==" equality tests
where in fact we should have been using Mips::<regclas>.hasSubClassEQ instead,
per suggestion of Jakob Stoklund Olesen.
Patch by Reed Kotler.
llvm-svn: 156958
|
| |
|
|
|
|
| |
since they are equivalent.
llvm-svn: 155188
|
| |
|
|
| |
llvm-svn: 151625
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 150805
|
| |
|
|
|
|
|
|
| |
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary
for emitting jump tables which have entries with directive .gpdword. This patch
does not implement the parts needed for direct object emission or JIT.
llvm-svn: 149668
|
| |
|
|
|
|
| |
loadRegFromStackSlot.
llvm-svn: 147235
|
| |
|
|
| |
llvm-svn: 146896
|
| |
|
|
|
|
| |
-relocation-model=static.
llvm-svn: 146432
|
| |
|
|
|
|
| |
Patch by Jack Carter
llvm-svn: 145912
|
| |
|
|
|
|
| |
registers.
llvm-svn: 144017
|
| |
|
|
| |
llvm-svn: 141694
|
| |
|
|
|
|
|
| |
that have 64-bit pointers or access the 32 x 64-bit floating pointer register
file. Update functions in MipsInstrInfo.cpp too.
llvm-svn: 141623
|
| |
|
|
| |
llvm-svn: 141613
|
| |
|
|
| |
llvm-svn: 141476
|
| |
|
|
|
|
| |
registers.
llvm-svn: 141019
|
| |
|
|
|
|
|
|
| |
them to define"
It broke the unit tests. Please reapply with tests fixed.
llvm-svn: 140735
|
| |
|
|
|
|
| |
multiclasses.
llvm-svn: 140731
|
| |
|
|
|
|
| |
These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mips1 does not support double precision loads or stores, therefore two single
precision loads or stores must be used in place of these instructions. This
patch treats double precision loads and stores as if they are legal
instructions until MCInstLowering, instead of generating the single precision
instructions during instruction selection or Prolog/Epilog code insertion.
Without the changes made in this patch, llc produces code that has the same
problem described in r137484 or bails out when
MipsInstrInfo::storeRegToStackSlot or loadRegFromStackSlot is called before
register allocation.
llvm-svn: 137711
|
| |
|
|
|
|
| |
registeration and creation code into XXXMCDesc libraries.
llvm-svn: 135184
|
| |
|
|
|
|
|
|
|
|
|
|
| |
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.
llvm-svn: 134884
|
| |
|
|
| |
llvm-svn: 134661
|
| |
|
|
|
|
|
| |
before the offset. This change will enable simplification of function
MipsRegisterInfo::eliminateFrameIndex.
llvm-svn: 134625
|
| |
|
|
| |
llvm-svn: 134244
|
| |
|
|
| |
llvm-svn: 134224
|
| |
|
|
| |
llvm-svn: 134030
|
| |
|
|
| |
llvm-svn: 134024
|
| |
|
|
|
|
|
|
| |
sink them into MC layer.
- Added MCInstrInfo, which captures the tablegen generated static data. Chang
TargetInstrInfo so it's based off MCInstrInfo.
llvm-svn: 134021
|
| |
|
|
|
|
| |
in functionality.
llvm-svn: 129612
|
| |
|
|
|
|
| |
change in functionality.
llvm-svn: 129606
|
| |
|
|
| |
llvm-svn: 128718
|
| |
|
|
|
|
| |
handling of FP comparisons.
llvm-svn: 128650
|
| |
|
|
|
|
| |
Hatanaka, Akira
llvm-svn: 127003
|
| |
|
|
| |
llvm-svn: 108567
|
| |
|
|
|
|
|
|
| |
The only folding these load/store architectures can do is converting COPY into a
load or store, and the target independent part of foldMemoryOperand already
knows how to do that.
llvm-svn: 108099
|
| |
|
|
| |
llvm-svn: 108066
|