diff options
author | dim <dim@FreeBSD.org> | 2014-11-24 18:43:37 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-11-24 18:43:37 +0000 |
commit | 82ca21468e7fe6a5112961ba86434579bed3f204 (patch) | |
tree | c2772f1f62ff857fee7802d46eb79f45d45d6d54 /contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff | |
parent | 6148c19c738a92f344008aa3f88f4e008bada0ee (diff) | |
download | FreeBSD-src-82ca21468e7fe6a5112961ba86434579bed3f204.zip FreeBSD-src-82ca21468e7fe6a5112961ba86434579bed3f204.tar.gz |
Cleanup patch set, and update README.TXT. Add three new patches.
Diffstat (limited to 'contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff')
-rw-r--r-- | contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff deleted file mode 100644 index 971141c..0000000 --- a/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff +++ /dev/null @@ -1,258 +0,0 @@ -Pull in r198028 from upstream llvm trunk (by Venkatraman Govindaraju): - - [Sparc] Add MCInstPrinter implementation for SPARC. - -Introduced here: http://svnweb.freebsd.org/changeset/base/262261 - -Index: lib/Target/Sparc/InstPrinter/LLVMBuild.txt -=================================================================== ---- lib/Target/Sparc/InstPrinter/LLVMBuild.txt -+++ lib/Target/Sparc/InstPrinter/LLVMBuild.txt -@@ -0,0 +1,23 @@ -+;===- ./lib/Target/Sparc/InstPrinter/LLVMBuild.txt -------------*- Conf -*--===; -+; -+; The LLVM Compiler Infrastructure -+; -+; This file is distributed under the University of Illinois Open Source -+; License. See LICENSE.TXT for details. -+; -+;===------------------------------------------------------------------------===; -+; -+; This is an LLVMBuild description file for the components in this subdirectory. -+; -+; For more information on the LLVMBuild system, please see: -+; -+; http://llvm.org/docs/LLVMBuild.html -+; -+;===------------------------------------------------------------------------===; -+ -+[component_0] -+type = Library -+name = SparcAsmPrinter -+parent = Sparc -+required_libraries = MC Support -+add_to_library_groups = Sparc -Index: lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp -=================================================================== ---- lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp -+++ lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp -@@ -0,0 +1,95 @@ -+//===-- SparcInstPrinter.cpp - Convert Sparc MCInst to assembly syntax -----==// -+// -+// The LLVM Compiler Infrastructure -+// -+// This file is distributed under the University of Illinois Open Source -+// License. See LICENSE.TXT for details. -+// -+//===----------------------------------------------------------------------===// -+// -+// This class prints an Sparc MCInst to a .s file. -+// -+//===----------------------------------------------------------------------===// -+ -+#define DEBUG_TYPE "asm-printer" -+#include "SparcInstPrinter.h" -+ -+#include "Sparc.h" -+#include "MCTargetDesc/SparcBaseInfo.h" -+#include "llvm/MC/MCExpr.h" -+#include "llvm/MC/MCInst.h" -+#include "llvm/MC/MCSymbol.h" -+#include "llvm/Support/raw_ostream.h" -+using namespace llvm; -+ -+#define GET_INSTRUCTION_NAME -+// Uncomment the following line once we are ready to use MCAsmWriter. -+//#include "SparcGenAsmWriter.inc" -+ -+void SparcInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const -+{ -+ OS << '%' << StringRef(getRegisterName(RegNo)).lower(); -+} -+ -+void SparcInstPrinter::printInst(const MCInst *MI, raw_ostream &O, -+ StringRef Annot) -+{ -+ printInstruction(MI, O); -+ printAnnotation(O, Annot); -+} -+ -+void SparcInstPrinter::printOperand(const MCInst *MI, int opNum, -+ raw_ostream &O) -+{ -+ const MCOperand &MO = MI->getOperand (opNum); -+ -+ if (MO.isReg()) { -+ printRegName(O, MO.getReg()); -+ return ; -+ } -+ -+ if (MO.isImm()) { -+ O << (int)MO.getImm(); -+ return; -+ } -+ -+ assert(MO.isExpr() && "Unknown operand kind in printOperand"); -+ MO.getExpr()->print(O); -+} -+ -+void SparcInstPrinter::printMemOperand(const MCInst *MI, int opNum, -+ raw_ostream &O, const char *Modifier) -+{ -+ printOperand(MI, opNum, O); -+ -+ // If this is an ADD operand, emit it like normal operands. -+ if (Modifier && !strcmp(Modifier, "arith")) { -+ O << ", "; -+ printOperand(MI, opNum+1, O); -+ return; -+ } -+ const MCOperand &MO = MI->getOperand(opNum+1); -+ -+ if (MO.isReg() && MO.getReg() == SP::G0) -+ return; // don't print "+%g0" -+ if (MO.isImm() && MO.getImm() == 0) -+ return; // don't print "+0" -+ -+ O << "+"; -+ -+ printOperand(MI, opNum+1, O); -+} -+ -+void SparcInstPrinter::printCCOperand(const MCInst *MI, int opNum, -+ raw_ostream &O) -+{ -+ int CC = (int)MI->getOperand(opNum).getImm(); -+ O << SPARCCondCodeToString((SPCC::CondCodes)CC); -+} -+ -+bool SparcInstPrinter::printGetPCX(const MCInst *MI, unsigned opNum, -+ raw_ostream &O) -+{ -+ assert(0 && "FIXME: Implement SparcInstPrinter::printGetPCX."); -+ return true; -+} -Index: lib/Target/Sparc/InstPrinter/CMakeLists.txt -=================================================================== ---- lib/Target/Sparc/InstPrinter/CMakeLists.txt -+++ lib/Target/Sparc/InstPrinter/CMakeLists.txt -@@ -0,0 +1,3 @@ -+add_llvm_library(LLVMSparcAsmPrinter -+ SparcInstPrinter.cpp -+ ) -Index: lib/Target/Sparc/InstPrinter/Makefile -=================================================================== ---- lib/Target/Sparc/InstPrinter/Makefile -+++ lib/Target/Sparc/InstPrinter/Makefile -@@ -0,0 +1,16 @@ -+##===- lib/Target/Sparc/InstPrinter/Makefile ---------------*- Makefile -*-===## -+# -+# The LLVM Compiler Infrastructure -+# -+# This file is distributed under the University of Illinois Open Source -+# License. See LICENSE.TXT for details. -+# -+##===----------------------------------------------------------------------===## -+ -+LEVEL = ../../../.. -+LIBRARYNAME = LLVMSparcAsmPrinter -+ -+# Hack: we need to include 'main' target directory to grab private headers -+CPP.Flags += -I$(PROJ_OBJ_DIR)/.. -I$(PROJ_SRC_DIR)/.. -+ -+include $(LEVEL)/Makefile.common -Index: lib/Target/Sparc/InstPrinter/SparcInstPrinter.h -=================================================================== ---- lib/Target/Sparc/InstPrinter/SparcInstPrinter.h -+++ lib/Target/Sparc/InstPrinter/SparcInstPrinter.h -@@ -0,0 +1,46 @@ -+//===-- SparcInstPrinter.h - Convert Sparc MCInst to assembly syntax ------===// -+// -+// The LLVM Compiler Infrastructure -+// -+// This file is distributed under the University of Illinois Open Source -+// License. See LICENSE.TXT for details. -+// -+//===----------------------------------------------------------------------===// -+// -+// This class prints an Sparc MCInst to a .s file. -+// -+//===----------------------------------------------------------------------===// -+ -+#ifndef SparcINSTPRINTER_H -+#define SparcINSTPRINTER_H -+ -+#include "llvm/MC/MCInstPrinter.h" -+ -+namespace llvm { -+ -+class MCOperand; -+ -+class SparcInstPrinter : public MCInstPrinter { -+public: -+ SparcInstPrinter(const MCAsmInfo &MAI, -+ const MCInstrInfo &MII, -+ const MCRegisterInfo &MRI) -+ : MCInstPrinter(MAI, MII, MRI) {} -+ -+ virtual void printRegName(raw_ostream &OS, unsigned RegNo) const; -+ virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot); -+ -+ // Autogenerated by tblgen. -+ void printInstruction(const MCInst *MI, raw_ostream &O); -+ static const char *getRegisterName(unsigned RegNo); -+ -+ void printOperand(const MCInst *MI, int opNum, raw_ostream &OS); -+ void printMemOperand(const MCInst *MI, int opNum, raw_ostream &OS, -+ const char *Modifier = 0); -+ void printCCOperand(const MCInst *MI, int opNum, raw_ostream &OS); -+ bool printGetPCX(const MCInst *MI, unsigned OpNo, raw_ostream &OS); -+ -+}; -+} // end namespace llvm -+ -+#endif -Index: lib/Target/Sparc/LLVMBuild.txt -=================================================================== ---- lib/Target/Sparc/LLVMBuild.txt -+++ lib/Target/Sparc/LLVMBuild.txt -@@ -16,7 +16,7 @@ - ;===------------------------------------------------------------------------===; - - [common] --subdirectories = MCTargetDesc TargetInfo -+subdirectories = InstPrinter MCTargetDesc TargetInfo - - [component_0] - type = TargetGroup -@@ -29,6 +29,6 @@ has_jit = 1 - type = Library - name = SparcCodeGen - parent = Sparc --required_libraries = AsmPrinter CodeGen Core MC SelectionDAG SparcDesc -- SparcInfo Support Target -+required_libraries = AsmPrinter CodeGen Core MC SelectionDAG SparcAsmPrinter -+ SparcDesc SparcInfo Support Target - add_to_library_groups = Sparc -Index: lib/Target/Sparc/CMakeLists.txt -=================================================================== ---- lib/Target/Sparc/CMakeLists.txt -+++ lib/Target/Sparc/CMakeLists.txt -@@ -29,3 +29,4 @@ add_dependencies(LLVMSparcCodeGen SparcCommonTable - - add_subdirectory(TargetInfo) - add_subdirectory(MCTargetDesc) -+add_subdirectory(InstPrinter) -Index: lib/Target/Sparc/Makefile -=================================================================== ---- lib/Target/Sparc/Makefile -+++ lib/Target/Sparc/Makefile -@@ -17,7 +17,7 @@ BUILT_SOURCES = SparcGenRegisterInfo.inc SparcGenI - SparcGenSubtargetInfo.inc SparcGenCallingConv.inc \ - SparcGenCodeEmitter.inc - --DIRS = TargetInfo MCTargetDesc -+DIRS = InstPrinter TargetInfo MCTargetDesc - - include $(LEVEL)/Makefile.common - |