From evan.cheng at apple.com Mon Apr 24 00:37:47 2006 From: evan.cheng at apple.com (Evan Cheng) Date: Mon, 24 Apr 2006 00:37:47 -0500 Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86RegisterInfo.cpp Message-ID: <200604240537.AAA11890@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/X86: X86RegisterInfo.cpp updated: 1.143 -> 1.144 --- Log message: MakeMIInst() should handle jump table index operands. --- Diffs of the changes: (+3 -0) X86RegisterInfo.cpp | 3 +++ 1 files changed, 3 insertions(+) Index: llvm/lib/Target/X86/X86RegisterInfo.cpp diff -u llvm/lib/Target/X86/X86RegisterInfo.cpp:1.143 llvm/lib/Target/X86/X86RegisterInfo.cpp:1.144 --- llvm/lib/Target/X86/X86RegisterInfo.cpp:1.143 Tue Apr 18 16:59:43 2006 +++ llvm/lib/Target/X86/X86RegisterInfo.cpp Mon Apr 24 00:37:35 2006 @@ -151,6 +151,9 @@ return addFrameReference(BuildMI(Opcode, 5), FrameIndex) .addGlobalAddress(MI->getOperand(1).getGlobal(), false, MI->getOperand(1).getOffset()); + else if (MI->getOperand(1).isJumpTableIndex()) + return addFrameReference(BuildMI(Opcode, 5), FrameIndex) + .addJumpTableIndex(MI->getOperand(1).getJumpTableIndex()); assert(0 && "Unknown operand for MakeMI!"); return 0; } From evan.cheng at apple.com Mon Apr 24 01:42:27 2006 From: evan.cheng at apple.com (Evan Cheng) Date: Mon, 24 Apr 2006 01:42:27 -0500 Subject: [llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineInstrBuilder.h Message-ID: <200604240642.BAA12479@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm/CodeGen: MachineInstrBuilder.h updated: 1.29 -> 1.30 --- Log message: Added addJumpTableIndex --- Diffs of the changes: (+5 -0) MachineInstrBuilder.h | 5 +++++ 1 files changed, 5 insertions(+) Index: llvm/include/llvm/CodeGen/MachineInstrBuilder.h diff -u llvm/include/llvm/CodeGen/MachineInstrBuilder.h:1.29 llvm/include/llvm/CodeGen/MachineInstrBuilder.h:1.30 --- llvm/include/llvm/CodeGen/MachineInstrBuilder.h:1.29 Sat Feb 25 03:52:55 2006 +++ llvm/include/llvm/CodeGen/MachineInstrBuilder.h Mon Apr 24 01:42:15 2006 @@ -131,6 +131,11 @@ return *this; } + const MachineInstrBuilder &addJumpTableIndex(unsigned Idx) const { + MI->addJumpTableIndexOperand(Idx); + return *this; + } + const MachineInstrBuilder &addGlobalAddress(GlobalValue *GV, bool isPCRelative = false, int Offset = 0) const { From lattner at cs.uiuc.edu Mon Apr 24 11:35:09 2006 From: lattner at cs.uiuc.edu (Chris Lattner) Date: Mon, 24 Apr 2006 11:35:09 -0500 Subject: [llvm-commits] CVS: llvm/docs/WritingAnLLVMBackend.html Message-ID: <200604241635.LAA09166@zion.cs.uiuc.edu> Changes in directory llvm/docs: WritingAnLLVMBackend.html updated: 1.10 -> 1.11 --- Log message: Suggest looking at the SPARC backend. How weird is that?? :) --- Diffs of the changes: (+4 -3) WritingAnLLVMBackend.html | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) Index: llvm/docs/WritingAnLLVMBackend.html diff -u llvm/docs/WritingAnLLVMBackend.html:1.10 llvm/docs/WritingAnLLVMBackend.html:1.11 --- llvm/docs/WritingAnLLVMBackend.html:1.10 Mon Mar 13 23:39:39 2006 +++ llvm/docs/WritingAnLLVMBackend.html Mon Apr 24 11:34:45 2006 @@ -61,8 +61,9 @@
In general, you want to follow the format of X86 or PowerPC (in -lib/Target).
+In general, you want to follow the format of SPARC, X86 or PowerPC (in +lib/Target). SPARC is the simplest backend, and is RISC, so if +you're working on a RISC target, it is a good one to start with.
To create a static compiler (one that emits text assembly), you need to implement the following:
@@ -252,7 +253,7 @@ Misha Brukman