| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 239370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
per-function subtarget.
Currently, code-gen passes the default or generic subtarget to the constructors
of MCInstPrinter subclasses (see LLVMTargetMachine::addPassesToEmitFile), which
enables some targets (AArch64, ARM, and X86) to change their instprinter's
behavior based on the subtarget feature bits. Since the backend can now use
different subtargets for each function, instprinter has to be changed to use the
per-function subtarget rather than the default subtarget.
This patch takes the first step towards enabling instprinter to change its
behavior based on the per-function subtarget. It adds a bit "PassSubtarget" to
AsmWriter which tells table-gen to pass a reference to MCSubtargetInfo to the
various print methods table-gen auto-generates.
I will follow up with changes to instprinters of AArch64, ARM, and X86.
llvm-svn: 233411
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement microMIPS 16-bit unconditional branch instruction B.
Implemented 16-bit microMIPS unconditional instruction has real name B16, and
B is an alias which expands to either B16 or BEQ according to the rules:
b 256 --> b16 256 # R_MICROMIPS_PC10_S1
b 12256 --> beq $zero, $zero, 12256 # R_MICROMIPS_PC16_S1
b label --> beq $zero, $zero, label # R_MICROMIPS_PC16_S1
Differential Revision: http://reviews.llvm.org/D3514
llvm-svn: 226657
|
| |
|
|
| |
llvm-svn: 226595
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement microMIPS 16-bit unconditional branch instruction B.
Implemented 16-bit microMIPS unconditional instruction has real name B16, and
B is an alias which expands to either B16 or BEQ according to the rules:
b 256 --> b16 256 # R_MICROMIPS_PC10_S1
b 12256 --> beq $zero, $zero, 12256 # R_MICROMIPS_PC16_S1
b label --> beq $zero, $zero, label # R_MICROMIPS_PC16_S1
Differential Revision: http://reviews.llvm.org/D3514
llvm-svn: 226577
|
| |
|
|
|
|
| |
into the assert.
llvm-svn: 225160
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5667
llvm-svn: 224338
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5579
llvm-svn: 222901
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5519
llvm-svn: 222367
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D3860
llvm-svn: 209659
|
| |
|
|
|
|
|
| |
definition below all of the header #include lines, lib/Target/...
edition.
llvm-svn: 206842
|
| |
|
|
|
|
| |
There's a couple additional bits I missed.
llvm-svn: 205195
|
| |
|
|
| |
llvm-svn: 205194
|
| |
|
|
| |
llvm-svn: 202811
|
| |
|
|
|
|
|
|
|
|
|
| |
Patch implements %hi(sym1 - sym2) and %lo(sym1 - sym2) expressions for MIPS
by creating target expression class MipsMCExpr.
Patch by Sasa Stankovic.
Differential Revision: http://llvm-reviews.chandlerc.com/D2592
llvm-svn: 200783
|
| |
|
|
| |
llvm-svn: 196999
|
| |
|
|
|
|
| |
here is to make save/restore into variable number of argument instructions.
llvm-svn: 196726
|
| |
|
|
|
|
|
|
| |
intrinsics)
Updated some of the vshf since they (correctly) emit splati's now
llvm-svn: 191511
|
| |
|
|
| |
llvm-svn: 191302
|
| |
|
|
| |
llvm-svn: 190234
|
| |
|
|
|
|
|
|
| |
which is
equivalent to "beq $zero, $zero, offset".
llvm-svn: 190220
|
| |
|
|
| |
llvm-svn: 188851
|
| |
|
|
|
|
| |
EmitAlias flag and have MipsInstPrinter::printAlias print the aliases.
llvm-svn: 187824
|
| |
|
|
|
|
|
| |
unnecessary jalr InstAliases in Mips64InstrInfo.td and add the code to print
jalr InstAliases in MipsInstPrinter::printAlias.
llvm-svn: 187821
|
| |
|
|
|
|
| |
turns "bal" into "bgezal".
llvm-svn: 187440
|
| |
|
|
| |
llvm-svn: 187371
|
| |
|
|
|
|
| |
operands.
llvm-svn: 187238
|
| |
|
|
|
|
|
|
| |
needed. The generic method printOperand will do.
No functionality change.
llvm-svn: 187231
|
| |
|
|
|
|
|
|
|
|
| |
instructions "beqz", "bnez" and "move", when possible.
beq $2, $zero, $L1 => beqz $2, $L1
bne $2, $zero, $L1 => bnez $2, $L1
or $2, $3, $zero => move $2, $3
llvm-svn: 187229
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and enables the instruction printer to print aliased
instructions.
Due to usage of RegisterOperands a change in common
code (utils/TableGen/AsmWriterEmitter.cpp) is required
to get the correct register value if it is a RegisterOperand.
Contributer: Vladimir Medic
llvm-svn: 174358
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
register names in the standalone assembler llvm-mc.
Registers such as $A1 can represent either a 32 or
64 bit register based on the instruction using it.
In addition, based on the abi, $T0 can represent different
32 bit registers.
The problem is resolved by the Mips specific AsmParser
td definitions changing to work together. Many cases of
RegisterClass parameters are now RegisterOperand.
Contributer: Vladimir Medic
llvm-svn: 172284
|
| |
|
|
| |
llvm-svn: 168460
|
| |
|
|
| |
llvm-svn: 160599
|
| |
|
|
|
|
| |
mips32 rev1 (the directives are emitted when target is mips32r2 too).
llvm-svn: 159770
|
| |
|
|
|
|
|
|
| |
MCInstPrinter.
All implementations used the same code.
llvm-svn: 153866
|
| |
|
|
|
|
| |
using the instruction name table from MCInstrInfo. Reduces static data in the InstPrinter implementations.
llvm-svn: 153863
|
| |
|
|
| |
llvm-svn: 151625
|
| |
|
|
| |
llvm-svn: 150805
|
| |
|
|
| |
llvm-svn: 150775
|
| |
|
|
| |
llvm-svn: 149961
|
| |
|
|
| |
llvm-svn: 146896
|
| |
|
|
|
|
|
| |
emission is not supported yet, but a patch that adds the support should follow
soon.
llvm-svn: 146572
|
| |
|
|
|
|
|
|
| |
make the addend fixup code a bit more generic
Patch by Jack Carter.
llvm-svn: 145998
|
| |
|
|
|
|
| |
VK_Mips_GPOFF_HI/LO.
llvm-svn: 144366
|
| |
|
|
|
|
|
|
| |
MCInsts.
Patch by Jack Carter.
llvm-svn: 144139
|
| |
|
|
| |
llvm-svn: 143891
|
| |
|
|
|
|
| |
they have a fallback path now.
llvm-svn: 140267
|
| |
|
|
|
|
| |
that the disassembler outputs annotations on with the streamer that the InstPrinter will print them on.
llvm-svn: 140217
|
| |
|
|
|
|
| |
return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.
llvm-svn: 139876
|
| |
|
|
| |
llvm-svn: 139339
|