Akira Hatanaka
|
4ea17fffd6
|
Remove unused PatLeaf.
llvm-svn: 141720
|
2011-10-11 21:53:08 +00:00 |
|
Akira Hatanaka
|
99550c035f
|
Change the names of 64-bit logical instructions so that they match the names of
the real instructions.
llvm-svn: 141718
|
2011-10-11 21:48:01 +00:00 |
|
Akira Hatanaka
|
7ae83fe86a
|
Remove redundancy in setcc patterns using multiclass.
llvm-svn: 141715
|
2011-10-11 21:40:01 +00:00 |
|
Akira Hatanaka
|
f8aabd951e
|
Use sltiu instead of sltu when a register operand and immediate are compared.
llvm-svn: 141708
|
2011-10-11 20:44:43 +00:00 |
|
Akira Hatanaka
|
27c0f84dce
|
Add patterns for conditional branches with 64-bit register operands.
llvm-svn: 141696
|
2011-10-11 19:09:09 +00:00 |
|
Akira Hatanaka
|
1594be76f8
|
Add support for 64-bit set-on-less-than instructions.
llvm-svn: 141695
|
2011-10-11 18:53:46 +00:00 |
|
Akira Hatanaka
|
9df92e48e1
|
Add support for conditional branch instructions with 64-bit register operands.
llvm-svn: 141694
|
2011-10-11 18:49:17 +00:00 |
|
Akira Hatanaka
|
20808df5a0
|
Make changes necessary for supporting floating point load and store instructions
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
|
2011-10-11 01:12:52 +00:00 |
|
Akira Hatanaka
|
3f89f9bc37
|
Modify lowering of GlobalAddress so that correct code is emitted when target is
Mips64.
llvm-svn: 141618
|
2011-10-11 00:55:05 +00:00 |
|
Akira Hatanaka
|
1913a9abc0
|
Modify MipsDAGToDAGISel::SelectAddr so that it can handle 64-bit pointers too.
llvm-svn: 141615
|
2011-10-11 00:44:20 +00:00 |
|
Akira Hatanaka
|
6f90f8d68d
|
Simplify and update functions storeRegToStackSlot and loadRegFromStackSlot.
llvm-svn: 141613
|
2011-10-11 00:37:28 +00:00 |
|
Akira Hatanaka
|
404fb72f59
|
Add definitions of 64-bit loads and stores. Add a patterns for unaligned
zextloadi32 for which there is no corresponding pseudo or real instruction.
llvm-svn: 141608
|
2011-10-11 00:27:28 +00:00 |
|
Akira Hatanaka
|
ac95006d45
|
Change definitions of classes LoadM and StoreM in preparation for adding support
for 64-bit load and store instructions. Add definitions of 64-bit memory operand
and 16-bit immediate operand.
llvm-svn: 141603
|
2011-10-11 00:11:12 +00:00 |
|
Akira Hatanaka
|
4a78bb776f
|
Simplify definition of FP move instructions.
llvm-svn: 141476
|
2011-10-08 03:50:18 +00:00 |
|
Akira Hatanaka
|
7780dcc74e
|
Define classes and multiclasses for FP binary instructions.
llvm-svn: 141475
|
2011-10-08 03:38:41 +00:00 |
|
Akira Hatanaka
|
9595e84a11
|
Define multiclasses for FP-to-FP instructions.
llvm-svn: 141474
|
2011-10-08 03:29:22 +00:00 |
|
Akira Hatanaka
|
e39c39db4a
|
Define classes for FP unary instructions and multiclasses for FP-to-fixed point
conversion instructions.
llvm-svn: 141473
|
2011-10-08 03:19:38 +00:00 |
|
Akira Hatanaka
|
38d2ddcfac
|
Add patterns for unaligned load and store instructions and enable the
instruction selector to generate them.
llvm-svn: 141471
|
2011-10-08 02:24:10 +00:00 |
|
Peter Collingbourne
|
253c6a3690
|
Build system infrastructure for multiple tblgens.
llvm-svn: 141266
|
2011-10-06 01:51:51 +00:00 |
|
Akira Hatanaka
|
28e360356f
|
Fix assertion string.
llvm-svn: 141197
|
2011-10-05 18:17:49 +00:00 |
|
Akira Hatanaka
|
9c77dc9579
|
Make sure candidate for delay slot filler is not a return instruction.
llvm-svn: 141196
|
2011-10-05 18:16:09 +00:00 |
|
Akira Hatanaka
|
eb6b8949ff
|
Add RA to the set of registers that are defined if instruction is a call.
llvm-svn: 141194
|
2011-10-05 18:11:44 +00:00 |
|
NAKAMURA Takumi
|
c4e7d192d1
|
MipsDelaySlotFiller.cpp: Appease msvc to specify llvm::next() explicitly.
llvm-svn: 141174
|
2011-10-05 10:11:02 +00:00 |
|
Akira Hatanaka
|
e37b7fb90f
|
Insert space.
llvm-svn: 141158
|
2011-10-05 02:22:49 +00:00 |
|
Akira Hatanaka
|
852a9caebd
|
Do not examine variadic or implicit operands if instruction is a return (jr).
llvm-svn: 141157
|
2011-10-05 02:21:58 +00:00 |
|
Akira Hatanaka
|
eb59ca6c4c
|
Clean up function Filler::delayHasHazard.
llvm-svn: 141156
|
2011-10-05 02:18:58 +00:00 |
|
Akira Hatanaka
|
1d80eaba44
|
Remove function Filler::insertCallUses.
Record the registers used and defined by a call in Filler::insertDefsUses.
llvm-svn: 141154
|
2011-10-05 02:04:17 +00:00 |
|
Akira Hatanaka
|
3707b9fec8
|
Clean up Filler::findDelayInstr.
llvm-svn: 141152
|
2011-10-05 01:57:46 +00:00 |
|
Akira Hatanaka
|
594683f3d7
|
Remove function Filler::isDelayFiller. Check if I is the same instruction that
filled the last delay slot visited.
llvm-svn: 141151
|
2011-10-05 01:30:09 +00:00 |
|
Akira Hatanaka
|
6698bae640
|
Clean up Filler::runOnMachineBasicBlock. Change interface of
Filler::findDelayInstr.
llvm-svn: 141150
|
2011-10-05 01:23:39 +00:00 |
|
Akira Hatanaka
|
716e3bea9c
|
Define a statistic for the number of slots that were filled with useful
instructions (instructions that are not NOP).
llvm-svn: 141149
|
2011-10-05 01:19:13 +00:00 |
|
Akira Hatanaka
|
c073bd7709
|
Remove unnecessary check. isDelayFiller(MBB, I) will evaluate to true before
I->getDesc().hasDelaySlot() does.
llvm-svn: 141148
|
2011-10-05 01:15:31 +00:00 |
|
Akira Hatanaka
|
cf11c1bfbe
|
Add comments and move assignment statement. If sawStore is true, sawLoad does
not have to be set.
llvm-svn: 141147
|
2011-10-05 01:09:37 +00:00 |
|
Akira Hatanaka
|
58d3445fd9
|
Correct description string of enable-mips-delay-filler.
llvm-svn: 141146
|
2011-10-05 01:06:57 +00:00 |
|
Akira Hatanaka
|
76c268271d
|
Add support for 64-bit logical NOR.
llvm-svn: 141029
|
2011-10-03 21:23:18 +00:00 |
|
Akira Hatanaka
|
ae50204423
|
Add support for 64-bit count leading ones and zeros instructions.
llvm-svn: 141028
|
2011-10-03 21:16:50 +00:00 |
|
Akira Hatanaka
|
6c6ff6fde7
|
Add support for 64-bit divide instructions.
llvm-svn: 141024
|
2011-10-03 21:06:13 +00:00 |
|
Akira Hatanaka
|
7e1775fdd6
|
Clean up MipsInstrInfo::copyPhysReg and handle copies from and to 64-bit integer
registers.
llvm-svn: 141019
|
2011-10-03 20:38:08 +00:00 |
|
Akira Hatanaka
|
e3c1d7eac0
|
Add support for 64-bit integer multiply instructions.
llvm-svn: 141017
|
2011-10-03 20:01:11 +00:00 |
|
Akira Hatanaka
|
3f3d72c052
|
Add definitions of instructions which move values between 64-bit integer
registers and 64-bit HI and LO registers. Fix encoding of the 32-bit versions
of the instructions.
llvm-svn: 141015
|
2011-10-03 19:28:44 +00:00 |
|
Akira Hatanaka
|
13aa92d8c2
|
Register the MC object streamer.
Patch by Reed Kotler at Mips Technologies.
llvm-svn: 140887
|
2011-09-30 21:29:38 +00:00 |
|
Akira Hatanaka
|
3048f0ddf4
|
Register Asm backend. Add functions to MipsAsmBackend.
Patch by Reed Kotler at Mips Technologies.
llvm-svn: 140886
|
2011-09-30 21:23:45 +00:00 |
|
Akira Hatanaka
|
f1c17f8e83
|
Add MCELFObjectTargetWriter and MCAsmBackend classes.
Patch by Reed Kotler at Mips Technologies.
llvm-svn: 140885
|
2011-09-30 21:04:02 +00:00 |
|
Benjamin Kramer
|
004c20ec00
|
Update CMake build.
llvm-svn: 140879
|
2011-09-30 20:44:33 +00:00 |
|
Akira Hatanaka
|
9f9e71147e
|
Initial implementation of MipsMCCodeEmitter.
Patch by Reed Kotler at Mips Technologies.
llvm-svn: 140878
|
2011-09-30 20:40:03 +00:00 |
|
Akira Hatanaka
|
c9268767d6
|
Add definitions of Mips64 rotate instructions.
llvm-svn: 140870
|
2011-09-30 18:51:46 +00:00 |
|
Akira Hatanaka
|
6f3cfcdb95
|
isCommutable should be 0 for DSUBu.
llvm-svn: 140862
|
2011-09-30 17:26:36 +00:00 |
|
Akira Hatanaka
|
dcd69c2e07
|
Mips64 shift instructions.
llvm-svn: 140841
|
2011-09-30 03:18:46 +00:00 |
|
Akira Hatanaka
|
4bdb4b1958
|
Mips64 arithmetic and logical instructions with one source register and
immediate.
llvm-svn: 140839
|
2011-09-30 02:08:54 +00:00 |
|
Akira Hatanaka
|
50a4f6d570
|
Fill delay slot with useful instructions. Modified from Sparc's version of delay
slot filler.
Patch by Reed Kotler at Mips Technologies.
llvm-svn: 140825
|
2011-09-29 23:52:13 +00:00 |
|