summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-11-24 18:43:37 +0000
committerdim <dim@FreeBSD.org>2014-11-24 18:43:37 +0000
commit82ca21468e7fe6a5112961ba86434579bed3f204 (patch)
treec2772f1f62ff857fee7802d46eb79f45d45d6d54 /contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff
parent6148c19c738a92f344008aa3f88f4e008bada0ee (diff)
downloadFreeBSD-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.diff258
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
-
OpenPOWER on IntegriCloud