From owner-svn-src-projects@FreeBSD.ORG Sat Jun 11 17:23:51 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D755F106566B; Sat, 11 Jun 2011 17:23:51 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AE88B8FC08; Sat, 11 Jun 2011 17:23:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5BHNpOj084456; Sat, 11 Jun 2011 17:23:51 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5BHNpIU084453; Sat, 11 Jun 2011 17:23:51 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201106111723.p5BHNpIU084453@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 11 Jun 2011 17:23:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222989 - projects/llvm-ia64/contrib/llvm/lib/Target/IA64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jun 2011 17:23:51 -0000 Author: marcel Date: Sat Jun 11 17:23:51 2011 New Revision: 222989 URL: http://svn.freebsd.org/changeset/base/222989 Log: Implement IA64RegisterInfo::getReservedRegs() Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td Sat Jun 11 16:44:30 2011 (r222988) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td Sat Jun 11 17:23:51 2011 (r222989) @@ -34,6 +34,9 @@ def F1 : IA64Register<"f1">; def P0 : IA64Register<"p0">; def R0 : IA64Register<"r0">; +def R1 : IA64Register<"r1">; +def R12 : IA64Register<"r12">; +def R13 : IA64Register<"r13">; // // Register classes @@ -43,7 +46,7 @@ class IA64RegisterClass } def FloatingPoint : IA64RegisterClass<[f128], 128, [F0, F1]>; -def General : IA64RegisterClass<[i64], 64, [R0]>; +def General : IA64RegisterClass<[i64], 64, [R0, R1, R12, R13]>; def Predicate : IA64RegisterClass<[i1], 0, [P0]>; // Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp Sat Jun 11 16:44:30 2011 (r222988) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp Sat Jun 11 17:23:51 2011 (r222989) @@ -32,7 +32,19 @@ IA64RegisterInfo::getCalleeSavedRegs(con BitVector IA64RegisterInfo::getReservedRegs(const MachineFunction &MF) const { - llvm_unreachable(__func__); + BitVector rsvd(getNumRegs()); + + rsvd.set(IA64::R0); // constant, hardwired 0 + rsvd.set(IA64::R1); // global data pointer (aka gp) + rsvd.set(IA64::R12); // (memory) stack pointer (aka sp) + rsvd.set(IA64::R13); // thread pointer (aka tp) + + rsvd.set(IA64::F0); // constant, hardwired 0.0 + rsvd.set(IA64::F1); // constant, hardwired 1.0 + + rsvd.set(IA64::P0); // constant, hardwired 1 (true) + + return rsvd; } void