llvm-project/llvm/lib/Target/Mips
Sasa Stankovic 319f0ff3b7 [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6)
from setne comparison with an i32.

The patterns that are fixed:
  * (select (i32 (setne i32, immZExt16)), i32, i32) (for MIPS32r6)
  * (select (i32 (setne i32, immZExt16)), i64, i64) (for MIPS64r6)

llvm-svn: 213653
2014-07-22 13:36:02 +00:00
..
AsmParser Avoid resetting the UseSoftFloat and FloatABIType on the TargetMachine 2014-07-18 00:08:50 +00:00
Disassembler [mips] Use MFHC1 when it is available (MIPS32r2 and later) for both FP32 and FP64 moves 2014-07-14 12:41:31 +00:00
InstPrinter [mips][mips64r6] Add Relocations R_MIPS_PCHI16, R_MIPS_PCLO16 2014-05-27 14:58:51 +00:00
MCTargetDesc [mips] Add MipsOptionRecord abstraction and use it to implement .reginfo/.MIPS.options 2014-07-21 13:30:55 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
CMakeLists.txt enable fast isel tablegen files for Mips 2014-04-25 18:36:38 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
MSA.txt [mips] BSEL's and BINS[RL] operands are reversed compared to the vselect node used in the pattern. 2014-03-12 11:54:00 +00:00
Makefile enable fast isel tablegen files for Mips 2014-04-25 18:36:38 +00:00
MicroMipsInstrFPU.td [mips][mips64r6] bc1[tf] are not available on MIPS32r6/MIPS64r6 2014-06-12 15:00:17 +00:00
MicroMipsInstrFormats.td Implementation of 16-bit microMIPS instructions MFHI and MFLO. 2014-04-03 12:47:34 +00:00
MicroMipsInstrInfo.td [mips][mips64r6] Use JALR for returns instead of JR (which is not available on MIPS32r6/MIPS64r6) 2014-07-09 10:16:07 +00:00
Mips.h [mips] Revert test commit r195922. 2013-11-28 15:26:33 +00:00
Mips.td [mips] Added FPXX modeless calling convention. 2014-07-10 15:36:12 +00:00
Mips16FrameLowering.cpp So that we can include frame lowering in the subtarget, remove include 2014-07-02 23:29:55 +00:00
Mips16FrameLowering.h So that we can include frame lowering in the subtarget, remove include 2014-07-02 23:29:55 +00:00
Mips16HardFloat.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloat.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16HardFloatInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloatInfo.h This patch has two main functions: 2014-02-14 19:16:39 +00:00
Mips16ISelDAGToDAG.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
Mips16ISelDAGToDAG.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16ISelLowering.cpp In preparation for replacing the whole subtarget on the target machine, 2014-07-18 23:25:04 +00:00
Mips16ISelLowering.h In preparation for replacing the whole subtarget on the target machine, 2014-07-18 23:25:04 +00:00
Mips16InstrFormats.td Create a pattern for the "trap" instruction. 2013-08-07 04:00:26 +00:00
Mips16InstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
Mips16InstrInfo.h Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
Mips16InstrInfo.td [mips][mips64r6] Use JALR for indirect branches instead of JR (which is not available on MIPS32r6/MIPS64r6) 2014-07-09 10:21:59 +00:00
Mips16RegisterInfo.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
Mips16RegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips32r6InstrFormats.td [mips][mips64r6] Correct cond names in the cmp.cond.[ds] instructions 2014-07-09 10:40:20 +00:00
Mips32r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
Mips64InstrInfo.td [mips][mips64r6] Use JALR for indirect branches instead of JR (which is not available on MIPS32r6/MIPS64r6) 2014-07-09 10:21:59 +00:00
Mips64r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Even more spelling fixes for "instruction". 2013-09-28 13:42:22 +00:00
MipsAsmPrinter.cpp [mips] Do not emit '.module fp=...' unless we really need to. 2014-07-21 15:25:24 +00:00
MipsAsmPrinter.h Reset the Subtarget in the AsmPrinter for each machine function 2014-07-18 00:08:53 +00:00
MipsCallingConv.td [mips] Emit two CFI offset directives per double precision SDC1/LDC1 2014-07-10 22:23:30 +00:00
MipsCodeEmitter.cpp [mips] Try to fix the test/ExecutionEngine tests on a MIPS host. 2014-07-21 12:25:34 +00:00
MipsCondMov.td [mips][mips64r6] c.cond.fmt, mov[fntz], and mov[fntz].[ds] are not available on MIPS32r6/MIPS64r6 2014-06-12 13:39:06 +00:00
MipsConstantIslandPass.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsDSPInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsDSPInstrInfo.td [mips] Define a pseudo instruction which writes to both the lower and higher 2013-10-15 01:48:30 +00:00
MipsDelaySlotFiller.cpp [mips][mips64r6] Replace m[tf]hi, m[tf]lo, mult, multu, dmult, dmultu, div, ddiv, divu, ddivu for MIPS32r6/MIPS64. 2014-06-12 10:44:10 +00:00
MipsFastISel.cpp Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsFrameLowering.cpp FrameLowering depends only upon the Subtarget, so only take a subtarget 2014-07-18 23:33:47 +00:00
MipsFrameLowering.h FrameLowering depends only upon the Subtarget, so only take a subtarget 2014-07-18 23:33:47 +00:00
MipsISelDAGToDAG.cpp Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsISelDAGToDAG.h Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsISelLowering.cpp In preparation for replacing the whole subtarget on the target machine, 2014-07-18 23:25:04 +00:00
MipsISelLowering.h In preparation for replacing the whole subtarget on the target machine, 2014-07-18 23:25:04 +00:00
MipsInstrFPU.td [mips] Use MFHC1 when it is available (MIPS32r2 and later) for both FP32 and FP64 moves 2014-07-14 12:41:31 +00:00
MipsInstrFormats.td [mips] Added support for assembling sdbbp. 2014-06-24 13:00:32 +00:00
MipsInstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
MipsInstrInfo.h Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
MipsInstrInfo.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsJITInfo.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsJITInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsLongBranch.cpp Make non-module passes unconditionally added in the pass 2014-07-18 20:29:02 +00:00
MipsMCInstLower.cpp [mips] Optimize long branch for MIPS64 by removing %higher and %highest. 2014-05-27 18:53:06 +00:00
MipsMCInstLower.h [mips] Optimize long branch for MIPS64 by removing %higher and %highest. 2014-05-27 18:53:06 +00:00
MipsMSAInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsMSAInstrInfo.td [mips][mips64r6] Add align and dalign 2014-05-15 12:06:36 +00:00
MipsMachineFunction.cpp [mips] For the FP64A ABI, odd-numbered double-precision moves must not use mtc1/mfc1. 2014-07-14 13:08:14 +00:00
MipsMachineFunction.h [mips] For the FP64A ABI, odd-numbered double-precision moves must not use mtc1/mfc1. 2014-07-14 13:08:14 +00:00
MipsModuleISelDAGToDAG.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsModuleISelDAGToDAG.h Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsOptimizePICCall.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsOptionRecord.h [mips] Add MipsOptionRecord abstraction and use it to implement .reginfo/.MIPS.options 2014-07-21 13:30:55 +00:00
MipsOs16.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsOs16.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsRegisterInfo.cpp [mips] Added FPXX modeless calling convention. 2014-07-10 15:36:12 +00:00
MipsRegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsRegisterInfo.td [mips][fp64a] Temporarily disable odd-numbered double-precision registers when using the FP64A ABI. 2014-07-16 15:34:07 +00:00
MipsRelocations.h
MipsSEFrameLowering.cpp [mips] For the FP64A ABI, odd-numbered double-precision moves must not use mtc1/mfc1. 2014-07-14 13:08:14 +00:00
MipsSEFrameLowering.h So that we can include frame lowering in the subtarget, remove include 2014-07-02 23:29:55 +00:00
MipsSEISelDAGToDAG.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsSEISelDAGToDAG.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsSEISelLowering.cpp In preparation for replacing the whole subtarget on the target machine, 2014-07-18 23:25:04 +00:00
MipsSEISelLowering.h In preparation for replacing the whole subtarget on the target machine, 2014-07-18 23:25:04 +00:00
MipsSEInstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
MipsSEInstrInfo.h Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
MipsSERegisterInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
MipsSERegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsSchedule.td [mips] Implement shorthand add / sub forms for MIPS. 2014-03-24 14:05:39 +00:00
MipsSelectionDAGInfo.cpp Have MipsSelectionDAGInfo constructor take a DataLayout rather 2014-06-27 04:38:30 +00:00
MipsSelectionDAGInfo.h Have MipsSelectionDAGInfo constructor take a DataLayout rather 2014-06-27 04:38:30 +00:00
MipsSubtarget.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsSubtarget.h Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsTargetMachine.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsTargetMachine.h Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsTargetObjectFile.cpp Pass the Mangler by reference. 2014-02-08 14:53:28 +00:00
MipsTargetObjectFile.h Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
MipsTargetStreamer.h [mips] Add support for -modd-spreg/-mno-odd-spreg 2014-07-10 13:38:23 +00:00