llvm-6502/lib/Target/Mips
Reed Kotler 18afdb3210 Add logical ops to Mips fast-isel
Summary:
Code is mostly copied from AArch64 port and modified where needed for Mips.

This handles the "non" legal cases of logical ops. Legal cases are handled by tablegen patterns.

Test Plan:
Make check test logopm.ll

All of test-suite passes at O0/O2 and mips32 r1/r2 with this new change.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: echristo, llvm-commits, aemerson, rfuhler

Differential Revision: http://reviews.llvm.org/D6599

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231665 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-09 16:28:10 +00:00
..
AsmParser [mips] [IAS] Add missing constraints and improve testing for the .module directive. 2015-03-06 12:15:12 +00:00
Disassembler
InstPrinter
MCTargetDesc [mips] [IAS] Add missing constraints and improve testing for the .module directive. 2015-03-06 12:15:12 +00:00
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td
MicroMipsInstrFPU.td
MicroMipsInstrInfo.td [mips][microMIPS] Make usage of ADDU16 and SUBU16 by code generator 2015-03-04 15:47:42 +00:00
Mips16FrameLowering.cpp
Mips16FrameLowering.h
Mips16HardFloat.cpp Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
Mips16HardFloat.h Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp
Mips16InstrInfo.h
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Remove an argument-less call to getSubtargetImpl from TargetLoweringBase. 2015-02-26 00:00:24 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp
Mips16RegisterInfo.h
Mips32r6InstrFormats.td
Mips32r6InstrInfo.td
Mips64InstrInfo.td [mips] Rename the LA/LI/DLI TableGen definitions and classes. NFC. 2015-03-04 13:01:14 +00:00
Mips64r6InstrInfo.td
Mips.h
Mips.td [mips] Remove redundant periods from -mattr=help descriptions for MIPS. 2015-02-27 10:44:02 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp
MipsAsmPrinter.h
MipsCallingConv.td Fix justify error for small structures in varargs for MIPS64BE 2015-02-26 18:35:15 +00:00
MipsCCState.cpp
MipsCCState.h
MipsCondMov.td
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [mips] Keep the parameter list of Filler::searchRange() consistent. NFC. 2015-03-04 12:37:58 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Add logical ops to Mips fast-isel 2015-03-09 16:28:10 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsInstrFormats.td
MipsInstrFPU.td [MIPS]Multiple and add instructions for Mips are currently available in mips32r2/mips64r2 and later but should also be available in mips4, mips5, and mips64. This patch fixes the requested features and updates the corresponding test files. 2015-02-25 15:24:37 +00:00
MipsInstrInfo.cpp
MipsInstrInfo.h
MipsInstrInfo.td [mips][microMIPS] Make usage of ADDU16 and SUBU16 by code generator 2015-03-04 15:47:42 +00:00
MipsISelDAGToDAG.cpp
MipsISelDAGToDAG.h
MipsISelLowering.cpp [mips] Specify the correct value type when combining a CMovFP node. 2015-03-04 12:10:18 +00:00
MipsISelLowering.h getRegForInlineAsmConstraint wants to use TargetRegisterInfo for 2015-02-26 22:38:43 +00:00
MipsLongBranch.cpp
MipsMachineFunction.cpp [mips][microMIPS] Change register class for GP register 2015-02-27 15:03:50 +00:00
MipsMachineFunction.h
MipsMCInstLower.cpp Remove MCStreamer.h include from MCContext.h and explictly include it where necessary. NFC 2015-03-04 01:24:11 +00:00
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
MipsModuleISelDAGToDAG.h Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td
MipsOptimizePICCall.cpp
MipsOptionRecord.h
MipsOs16.cpp Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
MipsOs16.h Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
MipsRegisterInfo.cpp
MipsRegisterInfo.h
MipsRegisterInfo.td
MipsSchedule.td
MipsSEFrameLowering.cpp
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp
MipsSEInstrInfo.h
MipsSEISelDAGToDAG.cpp [mips] Account for constant-zero operands in ADDE nodes. 2015-02-27 09:01:39 +00:00
MipsSEISelDAGToDAG.h
MipsSEISelLowering.cpp Remove an argument-less call to getSubtargetImpl from TargetLoweringBase. 2015-02-26 00:00:24 +00:00
MipsSEISelLowering.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp
MipsSERegisterInfo.h
MipsSubtarget.cpp
MipsSubtarget.h
MipsTargetMachine.cpp
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MipsTargetStreamer.h [mips] [IAS] Add missing constraints and improve testing for the .module directive. 2015-03-06 12:15:12 +00:00
MSA.txt