[PATCH] D15892: [mips][microMIPS] Disable FastISel for microMIPS
Milena Vujosevic Janicic via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 5 09:02:35 PST 2016
milena.vujosevic.janicic created this revision.
milena.vujosevic.janicic added reviewers: dsanders, zoran.jovanovic.
milena.vujosevic.janicic added a subscriber: llvm-commits.
Herald added a subscriber: dsanders.
FastIsel is not supported for microMIPS, thus it needs to be disabled.
Test micromips-zero-mat-uses.ll is deleted since the tested sequence of instructions is not generated for microMIPS without FastISel.
http://reviews.llvm.org/D15892
Files:
lib/Target/Mips/MipsFastISel.cpp
test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll
test/CodeGen/Mips/micromips-zero-mat-uses.ll
Index: test/CodeGen/Mips/micromips-zero-mat-uses.ll
===================================================================
--- test/CodeGen/Mips/micromips-zero-mat-uses.ll
+++ /dev/null
@@ -1,8 +0,0 @@
-; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+micromips,+nooddspreg -O0 < %s | FileCheck %s
-
-; CHECK: addiu $[[R0:[0-9]+]], $zero, 0
-; CHECK: subu16 $2, $[[R0]], ${{[0-9]+}}
-define i32 @foo() {
- %1 = sub i32 0, undef
- ret i32 %1
-}
Index: test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll
===================================================================
--- test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll
+++ test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll
@@ -7,6 +7,8 @@
; RUN: llc -march=mips -mcpu=mips32r6 -O0 -relocation-model=pic \
; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s
+; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+micromips -O0 -relocation-model=pic \
+; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s
; RUN: llc -march=mips -mcpu=mips64 -O0 -relocation-model=pic \
; RUN: -fast-isel-verbose <%s 2>&1 | FileCheck %s
Index: lib/Target/Mips/MipsFastISel.cpp
===================================================================
--- lib/Target/Mips/MipsFastISel.cpp
+++ lib/Target/Mips/MipsFastISel.cpp
@@ -192,7 +192,8 @@
TII(*Subtarget->getInstrInfo()), TLI(*Subtarget->getTargetLowering()) {
MFI = funcInfo.MF->getInfo<MipsFunctionInfo>();
Context = &funcInfo.Fn->getContext();
- bool ISASupported = !Subtarget->hasMips32r6() && Subtarget->hasMips32();
+ bool ISASupported = !Subtarget->hasMips32r6() &&
+ !Subtarget->inMicroMipsMode() && Subtarget->hasMips32();
TargetSupported =
ISASupported && (TM.getRelocationModel() == Reloc::PIC_) &&
(static_cast<const MipsTargetMachine &>(TM).getABI().IsO32());
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15892.44014.patch
Type: text/x-patch
Size: 1843 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160105/f7698cc8/attachment.bin>
More information about the llvm-commits
mailing list