[llvm-commits] [llvm] r128687 - in /llvm/trunk: lib/Target/ARM/Thumb1RegisterInfo.cpp lib/Target/ARM/Thumb1RegisterInfo.h test/CodeGen/Thumb/2009-08-20-ISelBug.ll

Jakob Stoklund Olesen stoklund at 2pi.dk
Thu Mar 31 16:02:15 PDT 2011


Author: stoklund
Date: Thu Mar 31 18:02:15 2011
New Revision: 128687

URL: http://llvm.org/viewvc/llvm-project?rev=128687&view=rev
Log:
Provide a legal pointer register class when targeting thumb1.

The LocalStackSlotAllocation pass was creating illegal registers.

Modified:
    llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp
    llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.h
    llvm/trunk/test/CodeGen/Thumb/2009-08-20-ISelBug.ll

Modified: llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp?rev=128687&r1=128686&r2=128687&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp Thu Mar 31 18:02:15 2011
@@ -48,6 +48,11 @@
   : ARMBaseRegisterInfo(tii, sti) {
 }
 
+const TargetRegisterClass *
+Thumb1RegisterInfo::getPointerRegClass(unsigned Kind) const {
+  return ARM::tGPRRegisterClass;
+}
+
 /// emitLoadConstPool - Emits a load from constpool to materialize the
 /// specified immediate.
 void

Modified: llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.h?rev=128687&r1=128686&r2=128687&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.h (original)
+++ llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.h Thu Mar 31 18:02:15 2011
@@ -28,6 +28,8 @@
 public:
   Thumb1RegisterInfo(const ARMBaseInstrInfo &tii, const ARMSubtarget &STI);
 
+  const TargetRegisterClass *getPointerRegClass(unsigned Kind = 0) const;
+
   /// emitLoadConstPool - Emits a load from constpool to materialize the
   /// specified immediate.
  void emitLoadConstPool(MachineBasicBlock &MBB,

Modified: llvm/trunk/test/CodeGen/Thumb/2009-08-20-ISelBug.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb/2009-08-20-ISelBug.ll?rev=128687&r1=128686&r2=128687&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb/2009-08-20-ISelBug.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb/2009-08-20-ISelBug.ll Thu Mar 31 18:02:15 2011
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mtriple=thumbv6-apple-darwin -relocation-model=pic -disable-fp-elim -mattr=+v6 | FileCheck %s
+; RUN: llc < %s -mtriple=thumbv6-apple-darwin -relocation-model=pic -disable-fp-elim -mattr=+v6 -verify-machineinstrs | FileCheck %s
 ; rdar://7157006
 
 %struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }





More information about the llvm-commits mailing list