From lattner at cs.uiuc.edu Mon Oct 20 00:46:02 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 00:46:02 2003
Subject: [llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/Emitter.cpp
Message-ID: <200310200545.AAA04139@zion.cs.uiuc.edu>
Changes in directory llvm/lib/ExecutionEngine/JIT:
Emitter.cpp updated: 1.29 -> 1.30
---
Log message:
Hrm, a relic from the past. How cute :)
---
Diffs of the changes: (+1 -1)
Index: llvm/lib/ExecutionEngine/JIT/Emitter.cpp
diff -u llvm/lib/ExecutionEngine/JIT/Emitter.cpp:1.29 llvm/lib/ExecutionEngine/JIT/Emitter.cpp:1.30
--- llvm/lib/ExecutionEngine/JIT/Emitter.cpp:1.29 Thu Oct 16 18:33:38 2003
+++ llvm/lib/ExecutionEngine/JIT/Emitter.cpp Mon Oct 20 00:45:49 2003
@@ -21,7 +21,7 @@
#include "Config/sys/mman.h"
namespace {
- Statistic<> NumBytes("jello", "Number of bytes of machine code compiled");
+ Statistic<> NumBytes("jit", "Number of bytes of machine code compiled");
VM *TheVM = 0;
/// JITMemoryManager - Manage memory for the JIT code generation in a logical,
From lattner at cs.uiuc.edu Mon Oct 20 00:54:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 00:54:01 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/PeepholeOptimizer.cpp X86InstrInfo.td
Message-ID: <200310200553.AAA04167@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
PeepholeOptimizer.cpp updated: 1.3 -> 1.4
X86InstrInfo.td updated: 1.12 -> 1.13
---
Log message:
Emit x86 instructions for: A = B op C, where A and B are 16-bit registers,
C is a constant which can be sign-extended from 8 bits without value loss,
and op is one of: add, sub, imul, and, or, xor.
This allows the JIT to emit the one byte version of the constant instead of
the two or 4 byte version. Because these instructions are very common, this
can save a LOT of code space. For example, I sampled two benchmarks, 176.gcc
and 254.gap.
BM Old New Reduction
176.gcc 2673621 2548962 4.89%
254.gap 498261 475104 4.87%
Note that while the percentage is not spectacular, this did eliminate
124.6 _KILOBYTES_ of codespace from gcc. Not bad.
Note that this doesn't effect the llc version at all, because the assembler
already does this optimization.
---
Diffs of the changes: (+54 -0)
Index: llvm/lib/Target/X86/PeepholeOptimizer.cpp
diff -u llvm/lib/Target/X86/PeepholeOptimizer.cpp:1.3 llvm/lib/Target/X86/PeepholeOptimizer.cpp:1.4
--- llvm/lib/Target/X86/PeepholeOptimizer.cpp:1.3 Wed Aug 13 13:18:14 2003
+++ llvm/lib/Target/X86/PeepholeOptimizer.cpp Mon Oct 20 00:53:31 2003
@@ -51,6 +51,46 @@
}
return false;
+ // A large number of X86 instructions have forms which take an 8-bit
+ // immediate despite the fact that the operands are 16 or 32 bits. Because
+ // this can save three bytes of code size (and icache space), we want to
+ // shrink them if possible.
+ case X86::ADDri16: case X86::ADDri32:
+ case X86::SUBri16: case X86::SUBri32:
+ case X86::IMULri16: case X86::IMULri32:
+ case X86::ANDri16: case X86::ANDri32:
+ case X86::ORri16: case X86::ORri32:
+ case X86::XORri16: case X86::XORri32:
+ assert(MI->getNumOperands() == 3 && "These should all have 3 operands!");
+ if (MI->getOperand(2).isImmediate()) {
+ int Val = MI->getOperand(2).getImmedValue();
+ // If the value is the same when signed extended from 8 bits...
+ if (Val == (signed int)(signed char)Val) {
+ unsigned Opcode;
+ switch (MI->getOpcode()) {
+ default: assert(0 && "Unknown opcode value!");
+ case X86::ADDri16: Opcode = X86::ADDri16b; break;
+ case X86::ADDri32: Opcode = X86::ADDri32b; break;
+ case X86::SUBri16: Opcode = X86::SUBri16b; break;
+ case X86::SUBri32: Opcode = X86::SUBri32b; break;
+ case X86::IMULri16: Opcode = X86::IMULri16b; break;
+ case X86::IMULri32: Opcode = X86::IMULri32b; break;
+ case X86::ANDri16: Opcode = X86::ANDri16b; break;
+ case X86::ANDri32: Opcode = X86::ANDri32b; break;
+ case X86::ORri16: Opcode = X86::ORri16b; break;
+ case X86::ORri32: Opcode = X86::ORri32b; break;
+ case X86::XORri16: Opcode = X86::XORri16b; break;
+ case X86::XORri32: Opcode = X86::XORri32b; break;
+ }
+ unsigned R0 = MI->getOperand(0).getReg();
+ unsigned R1 = MI->getOperand(1).getReg();
+ *I = BuildMI(Opcode, 2, R0).addReg(R1).addZImm((char)Val);
+ delete MI;
+ return true;
+ }
+ }
+ return false;
+
#if 0
case X86::MOVir32: Size++;
case X86::MOVir16: Size++;
Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.12 llvm/lib/Target/X86/X86InstrInfo.td:1.13
--- llvm/lib/Target/X86/X86InstrInfo.td:1.12 Sun Oct 19 22:42:58 2003
+++ llvm/lib/Target/X86/X86InstrInfo.td Mon Oct 20 00:53:31 2003
@@ -243,6 +243,8 @@
def ADDri8 : I2A8 <"add", 0x80, MRMS0r >, Pattern<(set R8 , (plus R8 , imm))>;
def ADDri16 : I2A16<"add", 0x81, MRMS0r >, OpSize, Pattern<(set R16, (plus R16, imm))>;
def ADDri32 : I2A32<"add", 0x81, MRMS0r >, Pattern<(set R32, (plus R32, imm))>;
+def ADDri16b : I2A8 <"add", 0x83, MRMS0r >, OpSize; // ADDri with sign extended 8 bit imm
+def ADDri32b : I2A8 <"add", 0x83, MRMS0r >;
def ADCrr32 : I2A32<"adc", 0x11, MRMDestReg>; // R32 += imm32+Carry
@@ -252,6 +254,8 @@
def SUBri8 : I2A8 <"sub", 0x80, MRMS5r >, Pattern<(set R8 , (minus R8 , imm))>;
def SUBri16 : I2A16<"sub", 0x81, MRMS5r >, OpSize, Pattern<(set R16, (minus R16, imm))>;
def SUBri32 : I2A32<"sub", 0x81, MRMS5r >, Pattern<(set R32, (minus R32, imm))>;
+def SUBri16b : I2A8 <"sub", 0x83, MRMS5r >, OpSize;
+def SUBri32b : I2A8 <"sub", 0x83, MRMS5r >;
def SBBrr32 : I2A32<"sbb", 0x19, MRMDestReg>; // R32 -= R32+Carry
@@ -259,6 +263,9 @@
def IMULrr32 : I2A32<"imul", 0xAF, MRMSrcReg>, TB , Pattern<(set R32, (times R32, R32))>;
def IMULri16 : I2A16<"imul", 0x69, MRMSrcReg>, OpSize;
def IMULri32 : I2A32<"imul", 0x69, MRMSrcReg>;
+def IMULri16b : I2A8<"imul", 0x6B, MRMSrcReg>, OpSize;
+def IMULri32b : I2A8<"imul", 0x6B, MRMSrcReg>;
+
// Logical operators...
def ANDrr8 : I2A8 <"and", 0x20, MRMDestReg>, Pattern<(set R8 , (and R8 , R8 ))>;
@@ -267,6 +274,8 @@
def ANDri8 : I2A8 <"and", 0x80, MRMS4r >, Pattern<(set R8 , (and R8 , imm))>;
def ANDri16 : I2A16<"and", 0x81, MRMS4r >, OpSize, Pattern<(set R16, (and R16, imm))>;
def ANDri32 : I2A32<"and", 0x81, MRMS4r >, Pattern<(set R32, (and R32, imm))>;
+def ANDri16b : I2A8 <"and", 0x83, MRMS4r >, OpSize;
+def ANDri32b : I2A8 <"and", 0x83, MRMS4r >;
def ORrr8 : I2A8 <"or" , 0x08, MRMDestReg>, Pattern<(set R8 , (or R8 , R8 ))>;
def ORrr16 : I2A16<"or" , 0x09, MRMDestReg>, OpSize, Pattern<(set R16, (or R16, R16))>;
@@ -274,6 +283,9 @@
def ORri8 : I2A8 <"or" , 0x80, MRMS1r >, Pattern<(set R8 , (or R8 , imm))>;
def ORri16 : I2A16<"or" , 0x81, MRMS1r >, OpSize, Pattern<(set R16, (or R16, imm))>;
def ORri32 : I2A32<"or" , 0x81, MRMS1r >, Pattern<(set R32, (or R32, imm))>;
+def ORri16b : I2A8 <"or" , 0x83, MRMS1r >, OpSize;
+def ORri32b : I2A8 <"or" , 0x83, MRMS1r >;
+
def XORrr8 : I2A8 <"xor", 0x30, MRMDestReg>, Pattern<(set R8 , (xor R8 , R8 ))>;
def XORrr16 : I2A16<"xor", 0x31, MRMDestReg>, OpSize, Pattern<(set R16, (xor R16, R16))>;
@@ -281,6 +293,8 @@
def XORri8 : I2A8 <"xor", 0x80, MRMS6r >, Pattern<(set R8 , (xor R8 , imm))>;
def XORri16 : I2A16<"xor", 0x81, MRMS6r >, OpSize, Pattern<(set R16, (xor R16, imm))>;
def XORri32 : I2A32<"xor", 0x81, MRMS6r >, Pattern<(set R32, (xor R32, imm))>;
+def XORri16b : I2A8 <"xor", 0x83, MRMS6r >, OpSize;
+def XORri32b : I2A8 <"xor", 0x83, MRMS6r >;
// Test instructions are just like AND, except they don't generate a result.
def TESTrr8 : X86Inst<"test", 0x84, MRMDestReg, Arg8 >; // flags = R8 & R8
From lattner at cs.uiuc.edu Mon Oct 20 00:55:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 00:55:01 2003
Subject: [llvm-commits] CVS: llvm/lib/Transforms/IPO/InlineSimple.cpp
Message-ID: <200310200554.AAA04181@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Transforms/IPO:
InlineSimple.cpp updated: 1.54 -> 1.55
---
Log message:
Reorder for minor efficiency gain
---
Diffs of the changes: (+1 -1)
Index: llvm/lib/Transforms/IPO/InlineSimple.cpp
diff -u llvm/lib/Transforms/IPO/InlineSimple.cpp:1.54 llvm/lib/Transforms/IPO/InlineSimple.cpp:1.55
--- llvm/lib/Transforms/IPO/InlineSimple.cpp:1.54 Wed Oct 15 11:48:29 2003
+++ llvm/lib/Transforms/IPO/InlineSimple.cpp Mon Oct 20 00:54:26 2003
@@ -49,7 +49,7 @@
// If there is only one call of the function, and it has internal linkage,
// make it almost guaranteed to be inlined.
//
- if (Callee->hasOneUse() && Callee->hasInternalLinkage())
+ if (Callee->hasInternalLinkage() && Callee->hasOneUse())
InlineCost -= 30000;
// Add to the inline quality for properties that make the call valuable to
From lattner at cs.uiuc.edu Mon Oct 20 09:14:03 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 09:14:03 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/Sparc/Sparc.burg.in
Message-ID: <200310201413.JAA16864@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/Sparc:
Sparc.burg.in updated: 1.8 -> 1.9
---
Log message:
Apparently the dependencies are wrong for this file, so it didn't rebuild it
when changing Instruction.def. :(
---
Diffs of the changes: (+1 -1)
Index: llvm/lib/Target/Sparc/Sparc.burg.in
diff -u llvm/lib/Target/Sparc/Sparc.burg.in:1.8 llvm/lib/Target/Sparc/Sparc.burg.in:1.9
--- llvm/lib/Target/Sparc/Sparc.burg.in:1.8 Sat Oct 18 00:55:58 2003
+++ llvm/lib/Target/Sparc/Sparc.burg.in Mon Oct 20 09:12:52 2003
@@ -67,7 +67,7 @@
%term GetElemPtr=GetElementPtrOPCODE
%term GetElemPtrIdx=125 /* getElemPtr with index vector */
-%term Phi=PHINodeOPCODE
+%term Phi=PHIOPCODE
%term Cast=CastOPCODE /* cast that will be ignored. others are made explicit */
%term ToBoolTy=127
From gaeke at cs.uiuc.edu Mon Oct 20 10:15:03 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 10:15:03 2003
Subject: [llvm-commits] CVS: llvm/include/llvm/Target/TargetMachine.h
Message-ID: <200310201514.KAA18692@zion.cs.uiuc.edu>
Changes in directory llvm/include/llvm/Target:
TargetMachine.h updated: 1.36 -> 1.37
---
Log message:
Make replaceMachineCodeForFunction return void.
Make it assert by default.
---
Diffs of the changes: (+6 -4)
Index: llvm/include/llvm/Target/TargetMachine.h
diff -u llvm/include/llvm/Target/TargetMachine.h:1.36 llvm/include/llvm/Target/TargetMachine.h:1.37
--- llvm/include/llvm/Target/TargetMachine.h:1.36 Fri Oct 17 13:26:45 2003
+++ llvm/include/llvm/Target/TargetMachine.h Mon Oct 20 10:14:33 2003
@@ -8,6 +8,7 @@
#define LLVM_TARGET_TARGETMACHINE_H
#include "llvm/Target/TargetData.h"
+#include
class TargetInstrInfo;
class TargetInstrDescriptor;
@@ -100,11 +101,12 @@
}
/// replaceMachineCodeForFunction - Make it so that calling the
- /// function whose machine code is at OLD turns into a call to NEW. Returns
- /// true iff an error occurred. FIXME: this is JIT-specific.
+ /// function whose machine code is at OLD turns into a call to NEW,
+ /// perhaps by overwriting OLD with a branch to NEW. FIXME: this is
+ /// JIT-specific.
///
- virtual bool replaceMachineCodeForFunction (void *Old, void *New) {
- return true;
+ virtual void replaceMachineCodeForFunction (void *Old, void *New) {
+ assert (0 && "Current target cannot replace machine code for functions");
}
};
From gaeke at cs.uiuc.edu Mon Oct 20 10:16:04 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 10:16:04 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86TargetMachine.cpp
Message-ID: <200310201515.KAA18716@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86TargetMachine.cpp updated: 1.33 -> 1.34
---
Log message:
Make replaceMachineCodeForFunction return void.
---
Diffs of the changes: (+1 -2)
Index: llvm/lib/Target/X86/X86TargetMachine.cpp
diff -u llvm/lib/Target/X86/X86TargetMachine.cpp:1.33 llvm/lib/Target/X86/X86TargetMachine.cpp:1.34
--- llvm/lib/Target/X86/X86TargetMachine.cpp:1.33 Sun Oct 19 23:11:23 2003
+++ llvm/lib/Target/X86/X86TargetMachine.cpp Mon Oct 20 10:15:17 2003
@@ -137,7 +137,7 @@
return false; // success!
}
-bool X86TargetMachine::replaceMachineCodeForFunction (void *Old, void *New) {
+void X86TargetMachine::replaceMachineCodeForFunction (void *Old, void *New) {
// FIXME: This code could perhaps live in a more appropriate place.
char *OldByte = (char *) Old;
*OldByte++ = 0xE9; // Emit JMP opcode.
@@ -145,5 +145,4 @@
int32_t NewAddr = (int32_t) New;
int32_t OldAddr = (int32_t) OldWord;
*OldWord = NewAddr - OldAddr - 4; // Emit PC-relative addr of New code.
- return false; // success!
}
From gaeke at cs.uiuc.edu Mon Oct 20 10:16:07 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 10:16:07 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
Message-ID: <200310201515.KAA18708@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/Sparc:
SparcV9CodeEmitter.cpp updated: 1.36 -> 1.37
---
Log message:
Make replaceMachineCodeForFunction return void.
---
Diffs of the changes: (+1 -2)
Index: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
diff -u llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.36 llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.37
--- llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.36 Fri Oct 17 13:27:37 2003
+++ llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp Mon Oct 20 10:15:16 2003
@@ -562,12 +562,11 @@
}
}
-bool UltraSparc::replaceMachineCodeForFunction (void *Old, void *New) {
+void UltraSparc::replaceMachineCodeForFunction (void *Old, void *New) {
if (!TheJITResolver) return true; // fail if not in JIT.
uint64_t Target = (uint64_t)(intptr_t)New;
uint64_t CodeBegin = (uint64_t)(intptr_t)Old;
TheJITResolver->insertJumpAtAddr(Target, CodeBegin);
- return false;
}
int64_t SparcV9CodeEmitter::getMachineOpValue(MachineInstr &MI,
From gaeke at cs.uiuc.edu Mon Oct 20 10:18:06 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 10:18:06 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/Sparc/SparcInternals.h
Message-ID: <200310201517.KAA22033@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/Sparc:
SparcInternals.h updated: 1.102 -> 1.103
---
Log message:
Make replaceMachineCodeForFunction() return void.
---
Diffs of the changes: (+1 -1)
Index: llvm/lib/Target/Sparc/SparcInternals.h
diff -u llvm/lib/Target/Sparc/SparcInternals.h:1.102 llvm/lib/Target/Sparc/SparcInternals.h:1.103
--- llvm/lib/Target/Sparc/SparcInternals.h:1.102 Fri Oct 17 13:27:24 2003
+++ llvm/lib/Target/Sparc/SparcInternals.h Mon Oct 20 10:17:12 2003
@@ -677,7 +677,7 @@
virtual bool addPassesToJITCompile(FunctionPassManager &PM);
virtual bool addPassesToEmitMachineCode(FunctionPassManager &PM,
MachineCodeEmitter &MCE);
- virtual bool replaceMachineCodeForFunction(void *Old, void *New);
+ virtual void replaceMachineCodeForFunction(void *Old, void *New);
// getPrologEpilogInsertionPass - Inserts prolog/epilog code.
FunctionPass* getPrologEpilogInsertionPass();
From criswell at cs.uiuc.edu Mon Oct 20 11:41:02 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 11:41:02 2003
Subject: [llvm-commits] CVS: llvm/docs/GettingStarted.html
Message-ID: <200310201640.LAA21810@choi.cs.uiuc.edu>
Changes in directory llvm/docs:
GettingStarted.html updated: 1.39 -> 1.40
---
Log message:
Made the Requirements information its own major section and moved it
between the "Getting Started Quickly" and "Getting Started Slowly" sections.
:)
Removed some of the nit-picky requirements information (i.e. GNU tar and
GNU zip).
Attempted to compact the requirements information so that it is less scary.
---
Diffs of the changes: (+119 -140)
Index: llvm/docs/GettingStarted.html
diff -u llvm/docs/GettingStarted.html:1.39 llvm/docs/GettingStarted.html:1.40
--- llvm/docs/GettingStarted.html:1.39 Mon Oct 13 11:19:30 2003
+++ llvm/docs/GettingStarted.html Mon Oct 20 11:39:52 2003
@@ -19,14 +19,13 @@
- Overview
+
- Getting Started Quickly (A Summary)
+
- Requirements
- - Requirements
-
- - Hardware
-
- Software
-
+ - Hardware
+
- Software
- - Getting Started Quickly (A Summary)
+
- Getting Started with LLVM
- Terminology and Notation
@@ -67,8 +66,9 @@
First, LLVM comes in two pieces. The first piece is the LLVM suite. This
contains all of the tools, libraries, and header files needed to use the
- low level virtual machine. It also contains a test suite that can be used
- to test the LLVM tools and the GCC front end.
+ low level virtual machine. It contains an assembler, disassembler,
+ bytecode analyzer, and bytecode optimizer. It also contains a test suite
+ that can be used to test the LLVM tools and the GCC front end.
The second piece is the GCC front end. This component provides a version
of GCC that compiles C and C++ code into LLVM bytecode. Currently, the
@@ -77,133 +77,6 @@
manipulated with the LLVM tools from the LLVM suite.
-
-
-
- Before you begin to use the LLVM system, review the requirements given
- below. This may save you some trouble by knowing ahead of time what
- hardware and software you will need.
-
-
-
-
- LLVM is known to work on the following platforms:
-
- - Linux on x86 (Pentium and above)
-
- - Approximately 760 MB of Free Disk Space
-
- - Source code: 30 MB
-
- Object code: 670 MB
-
- GCC front end: 60 MB
-
-
-
-
-
-
- Solaris on SparcV9 (Ultrasparc)
-
- - Approximately 1.24 GB of Free Disk Space
-
- - Source code: 30 MB
-
- Object code: 1000 MB
-
- GCC front end: 210 MB
-
-
-
-
- LLVM may compile on other platforms. The LLVM utilities should work
- on other platforms, so it should be possible to generate and produce LLVM
- bytecode on unsupported platforms (although bytecode generated on one
- platform may not work on another platform). However, the code generators
- and Just-In-Time (JIT) compilers only generate SparcV9 or x86 machine code.
-
-
-
-
-
-
-
- Unpacking the distribution requires the following tools:
-
- -
- GNU Zip (gzip)
-
- GNU Tar
-
-
- These tools are needed to uncompress and unarchive the software.
- Regular Solaris tar may work for unpacking the TAR archive but
- is untested.
-
-
- Compiling LLVM requires that you have several different software packages
- installed:
-
-
- - GCC
-
-
- The GNU Compiler Collection must be installed with C and C++ language
- support. GCC 3.2.x works, and GCC 3.x is generally supported.
-
-
- Note that we currently do not support any other C++ compiler.
-
-
- - GNU Make
-
-
- The LLVM build system relies upon GNU Make extensions. Therefore, you
- will need GNU Make (sometimes known as gmake) to build LLVM.
-
-
-
- Flex
- and
- Bison
-
-
- The LLVM source code is built using flex and bison. You will not be
- able to configure and compile LLVM without them.
-
-
-
- GNU M4
-
-
- If you are installing Bison on your machine for the first time, you
- will need GNU M4 (version 1.4 or higher).
-
-
-
- There are some additional tools that you may want to have when working with
- LLVM:
-
-
-
- - GNU Autoconf
-
- GNU M4
-
- If you want to make changes to the configure scripts, you will need
- GNU autoconf (2.53 or higher), and consequently, GNU M4 (version 1.4
- or higher).
-
-
- - QMTest
-
- Python
-
- In order to run the tests in the LLVM test suite, you will need QMTest and
- a version of the Python interpreter that works with QMTest.
-
-
-
- The remainder of this guide is meant to get you up and running with
- LLVM and to give you some basic information about the LLVM environment.
- The next section gives a short summary for those
- who are already familiar with the system and want to get started as quickly
- as possible. A complete guide to installation is
- provided in the subsequent section.
-
-
The later sections of this guide describe the general layout of the the LLVM source-tree, a simple example using the LLVM tool chain, and links to find more information about LLVM or to get
- help via e-mail.
-
-
@@ -277,11 +150,117 @@
- See Setting Up Your Environment on tips to
- simplify working with the LLVM front-end and compiled tools. See the
- next section for other useful details in working with LLVM,
- or go straight to Program Layout to learn about the
- layout of the source code tree.
+
+ Consult the Getting Started with LLVM section for
+ detailed information on configuring and compiling LLVM. See
+ Setting Up Your Environment for tips that
+ simplify working with the GCC front end and LLVM tools. Go to
+ Program Layout to learn about the layout of the
+ source code tree.
+
+
+
+
+
+
+
+
+ Before you begin to use the LLVM system, review the requirements given
+ below. This may save you some trouble by knowing ahead of time what
+ hardware and software you will need.
+
+
+
+
+ LLVM is known to work on the following platforms:
+
+ - Linux on x86 (Pentium and above)
+
+ - Approximately 760 MB of Free Disk Space
+
+ - Source code: 30 MB
+
- Object code: 670 MB
+
- GCC front end: 60 MB
+
+
+
+
+
+
- Solaris on SparcV9 (Ultrasparc)
+
+ - Approximately 1.24 GB of Free Disk Space
+
+ - Source code: 30 MB
+
- Object code: 1000 MB
+
- GCC front end: 210 MB
+
+
+
+
+ The LLVM suite may compile on other platforms, but it is not
+ guaranteed to do so. If compilation is successful, the LLVM utilities
+ should be able to assemble, disassemble, analyze, and optimize LLVM
+ bytecode. Code generation should work as well, although the generated
+ native code may not work on your platform.
+
+ The GCC front end is not very portable at the moment. If you want to get
+ it to work on another platform, you can always request
+ a copy of the source
+ and try to compile it on your platform.
+
+
+
+
+
+
+
+ Compiling LLVM requires that you have several software packages installed:
+
+
+
+
+ There are some additional tools that you may want to have when working with
+ LLVM:
+
+
+
+ - GNU Autoconf
+
- GNU M4
+
+ If you want to make changes to the configure scripts, you will need
+ GNU autoconf (2.57 or higher), and consequently, GNU M4 (version 1.4
+ or higher).
+
+
+ - QMTest
+
- Python
+
+ These are needed to use the LLVM test suite.
+
+
+
+ The remainder of this guide is meant to get you up and running with
+ LLVM and to give you some basic information about the LLVM environment.
+ A complete guide to installation is provided in the
+ next section.
+
+
The later sections of this guide describe the general layout of the the LLVM source tree, a simple example using the LLVM tool chain, and links to find more information about LLVM or to get
+ help via e-mail.
From gaeke at cs.uiuc.edu Mon Oct 20 12:38:01 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 12:38:01 2003
Subject: [llvm-commits] CVS: reopt/lib/TraceCache/InstrUtils.cpp
Message-ID: <200310201737.MAA10775@morpheus.cs.uiuc.edu>
Changes in directory reopt/lib/TraceCache:
InstrUtils.cpp updated: 1.13 -> 1.14
---
Log message:
Get rid of some commented-out code and extra whitespace.
Get rid of the #ifdef __sparc__ all around the whole file; it's only needed for
doFlush().
Decorate hex constants with U, UL, ULL as necessary to avoid ambiguity.
Fix up some single-bit constants to use (1 << N) instead (more yet to do here).
Prefer hex constants to decimal constants (more yet to do here, too).
---
Diffs of the changes: (+22 -43)
Index: reopt/lib/TraceCache/InstrUtils.cpp
diff -u reopt/lib/TraceCache/InstrUtils.cpp:1.13 reopt/lib/TraceCache/InstrUtils.cpp:1.14
--- reopt/lib/TraceCache/InstrUtils.cpp:1.13 Fri Aug 22 12:43:42 2003
+++ reopt/lib/TraceCache/InstrUtils.cpp Mon Oct 20 12:36:55 2003
@@ -5,10 +5,6 @@
//
//===----------------------------------------------------------------------===//
-// This file can only be compiled for a Sparc V9 architecture.
-//
-#ifdef __sparc
-
#include "reopt/InstrUtils.h"
#include
#include
@@ -41,26 +37,26 @@
}
}
-
bool isNonDepJump(unsigned int y){//int + floating point
return ((y & 0xc1c00000) == 4194304 || (y & 0xc1c00000) == 20971520);
- // return ((y & 0x01c00000) == 4194304);
}
bool isDepJump(unsigned int y){ //integer+floatingpoint
return ((y & 0xc1c00000) == 8388608 || (y & 0xc1c00000) == 25165824);
- //return ((y & 0x01c00000) == 8388608);
}
uint64_t getNonDepJmpTarget(unsigned int y, uint64_t oldAdd){
- return (oldAdd+4*(((y&262144)==262144) ? ((y&0x0007ffff)|0xfffffffffff80000) : (y&0x0007ffff)));
+ return oldAdd + 4 * (((y&0x00040000)==0x00040000)
+ ? ((y&0x0007ffff)|0xfffffffffff80000ULL)
+ : (y&0x0007ffff));
}
uint64_t getDepJmpTarget(unsigned int y, uint64_t oldAdd){
- return (oldAdd+4*(((y&2097152)==2097152) ? ((y&0x003fffff)|0xffffffffffc00000) : (y&0x003fffff)));
+ return oldAdd + 4 * (((y&0x00200000U)==0x00200000U)
+ ? ((y&0x003fffff)|0xffffffffffc00000ULL)
+ : (y&0x003fffff));
}
-
unsigned int getUndepJumpInstr(unsigned int a, uint64_t to, uint64_t pc){
if(to>pc)
assert((to-pc)/4<262144 && "Can't fit target!");
@@ -68,69 +64,54 @@
assert((pc-to)/4<262144 && "Can't fit target!");
unsigned int diff = (((to-pc)/4)&0x3ffff);
- unsigned int sgn=0;
- if(topc)
assert((to-pc)/4<2097152 && "Can't fit target!");
else
assert((pc-to)/4<2097152 && "Can't fit target!");
unsigned int diff = (((to-pc)/4)&0x1fffff);
- unsigned int sgn=0;
- if(to>6)|(b&16383)):(((b&3145728)>>6)|(b&16383))));
+ return (oldAdd+4*(((b&2097152)==2097152)?(0xffffffffffff0000ULL|((b&3145728)>>6)|(b&16383)):(((b&3145728)>>6)|(b&16383))));
}
unsigned int getBPRInstr(unsigned int b, uint64_t to, uint64_t frm){
-
if(to>frm)
assert((to-frm)/4 < 32768 && "Target out of range!");
else
assert((frm-to)/4 < 32768 && "Target out of range!");
//frame = 2^32-1-(2^21+2^20+2^14-1)
- unsigned int frame = b&4291805184;
+ unsigned int frame = b & 0xffcfc000U;
uint64_t target = (to-frm)/4;
- unsigned int hi = ((target & (2147483648))>>10)|((target&(16384))<<6);
- unsigned lo = target&(16383);
+ unsigned int hi = ((target & 0x80000000ULL)>>10) | ((target&(0x4000ULL))<<6);
+ unsigned int lo = (unsigned int) (target & 0x3FFFULL);
return (frame|hi|lo);
}
//TODO: put assert to check branch destinations!
//TODO: Take out sign bit in branch instr
-//unsigned int getDepJumpInstr(unsigned int a, uint64_t to, uint64_t pc){
-//return ((a&0xffc00000)|(((to-pc)/4)&0x003fffff));
-//}
-
-//unsigned int getUndepJumpInstr(unsigned int a, uint64_t to, uint64_t pc){
-//return ((a&0xfff80000)|(((to-pc)/4)&0x0007ffff));
-//}
bool isCallInstr(unsigned int a){
return ((a & 0xc0000000) == 0x40000000);
}
uint64_t getCallTarget(unsigned int y, uint64_t oldAdd){
- uint64_t toRet = (oldAdd + 4*(((y&536870912)==536870912)?(0xffffffffc0000000|(y&0x3fffffff)):(y&0x3fffffff)));
- //std::cerr<<"\t\t\tCall Target:"<<(void *)toRet<<"\n";
- return toRet;
+ return oldAdd + 4 * (((y&0x20000000) == 0x20000000)
+ ? (0xffffffffc0000000ULL | (y & 0x3fffffff))
+ : (y & 0x3fffffff));
}
+// pc is the "from" address
unsigned int getCallInstr(uint64_t to , uint64_t pc){
//check to-pc < 2^29
if(to>pc)
@@ -144,9 +125,6 @@
if(to
Changes in directory llvm/tools/gccld:
GenerateCode.cpp updated: 1.7 -> 1.8
Linker.cpp updated: 1.9 -> 1.10
gccld.cpp updated: 1.55 -> 1.56
gccld.h updated: 1.1 -> 1.2
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+32 -0)
Index: llvm/tools/gccld/GenerateCode.cpp
diff -u llvm/tools/gccld/GenerateCode.cpp:1.7 llvm/tools/gccld/GenerateCode.cpp:1.8
--- llvm/tools/gccld/GenerateCode.cpp:1.7 Tue Sep 30 12:42:57 2003
+++ llvm/tools/gccld/GenerateCode.cpp Mon Oct 20 12:47:11 2003
@@ -1,4 +1,12 @@
//===- GenerateCode.cpp - Functions for generating executable files ------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file contains functions for generating executable files once linking
// has finished. This includes generating a shell script to run the JIT or
Index: llvm/tools/gccld/Linker.cpp
diff -u llvm/tools/gccld/Linker.cpp:1.9 llvm/tools/gccld/Linker.cpp:1.10
--- llvm/tools/gccld/Linker.cpp:1.9 Fri Oct 10 14:12:22 2003
+++ llvm/tools/gccld/Linker.cpp Mon Oct 20 12:47:11 2003
@@ -1,4 +1,12 @@
//===- Linker.cpp - Link together LLVM objects and libraries --------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file contains routines to handle linking together LLVM bytecode files,
// and to handle annoying things like static libraries.
Index: llvm/tools/gccld/gccld.cpp
diff -u llvm/tools/gccld/gccld.cpp:1.55 llvm/tools/gccld/gccld.cpp:1.56
--- llvm/tools/gccld/gccld.cpp:1.55 Fri Oct 10 12:55:31 2003
+++ llvm/tools/gccld/gccld.cpp Mon Oct 20 12:47:11 2003
@@ -1,4 +1,12 @@
//===- gccld.cpp - LLVM 'ld' compatible linker ----------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This utility is intended to be compatible with GCC, and follows standard
// system 'ld' conventions. As such, the default output file is ./a.out.
Index: llvm/tools/gccld/gccld.h
diff -u llvm/tools/gccld/gccld.h:1.1 llvm/tools/gccld/gccld.h:1.2
--- llvm/tools/gccld/gccld.h:1.1 Fri Sep 19 15:24:40 2003
+++ llvm/tools/gccld/gccld.h Mon Oct 20 12:47:11 2003
@@ -1,4 +1,12 @@
//===- util.h - Utility functions header file -----------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file contains function prototypes for the functions in util.cpp.
//
From criswell at cs.uiuc.edu Mon Oct 20 12:48:03 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:03 2003
Subject: [llvm-commits] CVS: llvm/tools/gccas/gccas.cpp
Message-ID: <200310201747.MAA04397@choi.cs.uiuc.edu>
Changes in directory llvm/tools/gccas:
gccas.cpp updated: 1.80 -> 1.81
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/gccas/gccas.cpp
diff -u llvm/tools/gccas/gccas.cpp:1.80 llvm/tools/gccas/gccas.cpp:1.81
--- llvm/tools/gccas/gccas.cpp:1.80 Thu Oct 16 11:50:34 2003
+++ llvm/tools/gccas/gccas.cpp Mon Oct 20 12:47:09 2003
@@ -1,4 +1,12 @@
//===-- gccas.cpp - The "optimizing assembler" used by the GCC frontend ---===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This utility is designed to be used by the GCC frontend for creating bytecode
// files from its intermediate LLVM assembly. The requirements for this utility
From criswell at cs.uiuc.edu Mon Oct 20 12:48:05 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:05 2003
Subject: [llvm-commits] CVS: llvm/tools/extract/extract.cpp
Message-ID: <200310201747.MAA04390@choi.cs.uiuc.edu>
Changes in directory llvm/tools/extract:
extract.cpp updated: 1.15 -> 1.16
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/extract/extract.cpp
diff -u llvm/tools/extract/extract.cpp:1.15 llvm/tools/extract/extract.cpp:1.16
--- llvm/tools/extract/extract.cpp:1.15 Wed Sep 10 14:42:51 2003
+++ llvm/tools/extract/extract.cpp Mon Oct 20 12:47:08 2003
@@ -1,4 +1,12 @@
//===- extract.cpp - LLVM function extraction utility ---------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This utility changes the input module to only contain a single function,
// which is primarily used for debugging transformations.
From criswell at cs.uiuc.edu Mon Oct 20 12:48:06 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:06 2003
Subject: [llvm-commits] CVS: llvm/tools/bugpoint/BugDriver.cpp BugDriver.h CodeGeneratorBug.cpp CrashDebugger.cpp ExecutionDriver.cpp ExtractFunction.cpp ListReducer.h Miscompilation.cpp OptimizerDriver.cpp TestPasses.cpp bugpoint.cpp
Message-ID: <200310201747.MAA04385@choi.cs.uiuc.edu>
Changes in directory llvm/tools/bugpoint:
BugDriver.cpp updated: 1.18 -> 1.19
BugDriver.h updated: 1.17 -> 1.18
CodeGeneratorBug.cpp updated: 1.26 -> 1.27
CrashDebugger.cpp updated: 1.19 -> 1.20
ExecutionDriver.cpp updated: 1.29 -> 1.30
ExtractFunction.cpp updated: 1.14 -> 1.15
ListReducer.h updated: 1.5 -> 1.6
Miscompilation.cpp updated: 1.21 -> 1.22
OptimizerDriver.cpp updated: 1.13 -> 1.14
TestPasses.cpp updated: 1.3 -> 1.4
bugpoint.cpp updated: 1.8 -> 1.9
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+88 -0)
Index: llvm/tools/bugpoint/BugDriver.cpp
diff -u llvm/tools/bugpoint/BugDriver.cpp:1.18 llvm/tools/bugpoint/BugDriver.cpp:1.19
--- llvm/tools/bugpoint/BugDriver.cpp:1.18 Wed Oct 15 15:42:48 2003
+++ llvm/tools/bugpoint/BugDriver.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- BugDriver.cpp - Top-Level BugPoint class implementation ------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This class contains all of the shared state and information that is used by
// the BugPoint tool to track down errors in optimizations. This class is the
Index: llvm/tools/bugpoint/BugDriver.h
diff -u llvm/tools/bugpoint/BugDriver.h:1.17 llvm/tools/bugpoint/BugDriver.h:1.18
--- llvm/tools/bugpoint/BugDriver.h:1.17 Fri Oct 17 18:03:16 2003
+++ llvm/tools/bugpoint/BugDriver.h Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- BugDriver.h - Top-Level BugPoint class -------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This class contains all of the shared state and information that is used by
// the BugPoint tool to track down errors in optimizations. This class is the
Index: llvm/tools/bugpoint/CodeGeneratorBug.cpp
diff -u llvm/tools/bugpoint/CodeGeneratorBug.cpp:1.26 llvm/tools/bugpoint/CodeGeneratorBug.cpp:1.27
--- llvm/tools/bugpoint/CodeGeneratorBug.cpp:1.26 Sun Oct 19 18:32:50 2003
+++ llvm/tools/bugpoint/CodeGeneratorBug.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- CodeGeneratorBug.cpp - Debug code generation bugs ------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file implements program code generation debugging support.
//
Index: llvm/tools/bugpoint/CrashDebugger.cpp
diff -u llvm/tools/bugpoint/CrashDebugger.cpp:1.19 llvm/tools/bugpoint/CrashDebugger.cpp:1.20
--- llvm/tools/bugpoint/CrashDebugger.cpp:1.19 Fri Oct 10 12:55:03 2003
+++ llvm/tools/bugpoint/CrashDebugger.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- CrashDebugger.cpp - Debug compilation crashes ----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file defines the bugpoint internals that narrow down compilation crashes
//
Index: llvm/tools/bugpoint/ExecutionDriver.cpp
diff -u llvm/tools/bugpoint/ExecutionDriver.cpp:1.29 llvm/tools/bugpoint/ExecutionDriver.cpp:1.30
--- llvm/tools/bugpoint/ExecutionDriver.cpp:1.29 Sun Oct 19 16:54:13 2003
+++ llvm/tools/bugpoint/ExecutionDriver.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- ExecutionDriver.cpp - Allow execution of LLVM program --------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file contains code used to execute the program utilizing one of the
// various ways of running LLVM bytecode.
Index: llvm/tools/bugpoint/ExtractFunction.cpp
diff -u llvm/tools/bugpoint/ExtractFunction.cpp:1.14 llvm/tools/bugpoint/ExtractFunction.cpp:1.15
--- llvm/tools/bugpoint/ExtractFunction.cpp:1.14 Wed Sep 10 16:11:42 2003
+++ llvm/tools/bugpoint/ExtractFunction.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- ExtractFunction.cpp - Extract a function from Program --------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file implements a method that extracts a function from program, cleans
// it up, and returns it as a new module.
Index: llvm/tools/bugpoint/ListReducer.h
diff -u llvm/tools/bugpoint/ListReducer.h:1.5 llvm/tools/bugpoint/ListReducer.h:1.6
--- llvm/tools/bugpoint/ListReducer.h:1.5 Mon Aug 18 09:38:08 2003
+++ llvm/tools/bugpoint/ListReducer.h Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- ListReducer.h - Trim down list while retaining property --*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This class is to be used as a base class for operations that want to zero in
// on a subset of the input which still causes the bug we are tracking.
Index: llvm/tools/bugpoint/Miscompilation.cpp
diff -u llvm/tools/bugpoint/Miscompilation.cpp:1.21 llvm/tools/bugpoint/Miscompilation.cpp:1.22
--- llvm/tools/bugpoint/Miscompilation.cpp:1.21 Sat Oct 18 14:27:48 2003
+++ llvm/tools/bugpoint/Miscompilation.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- Miscompilation.cpp - Debug program miscompilations -----------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file implements program miscompilation debugging support.
//
Index: llvm/tools/bugpoint/OptimizerDriver.cpp
diff -u llvm/tools/bugpoint/OptimizerDriver.cpp:1.13 llvm/tools/bugpoint/OptimizerDriver.cpp:1.14
--- llvm/tools/bugpoint/OptimizerDriver.cpp:1.13 Fri Oct 10 14:12:45 2003
+++ llvm/tools/bugpoint/OptimizerDriver.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- OptimizerDriver.cpp - Allow BugPoint to run passes safely ----------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file defines an interface that allows bugpoint to run various passes
// without the threat of a buggy pass corrupting bugpoint (of course, bugpoint
Index: llvm/tools/bugpoint/TestPasses.cpp
diff -u llvm/tools/bugpoint/TestPasses.cpp:1.3 llvm/tools/bugpoint/TestPasses.cpp:1.4
--- llvm/tools/bugpoint/TestPasses.cpp:1.3 Thu Aug 7 16:19:30 2003
+++ llvm/tools/bugpoint/TestPasses.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- TestPasses.cpp - "buggy" passes used to test bugpoint --------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file contains "buggy" passes that are used to test bugpoint, to check
// that it is narrowing down testcases correctly.
Index: llvm/tools/bugpoint/bugpoint.cpp
diff -u llvm/tools/bugpoint/bugpoint.cpp:1.8 llvm/tools/bugpoint/bugpoint.cpp:1.9
--- llvm/tools/bugpoint/bugpoint.cpp:1.8 Sat Oct 18 16:55:35 2003
+++ llvm/tools/bugpoint/bugpoint.cpp Mon Oct 20 12:47:07 2003
@@ -1,4 +1,12 @@
//===- bugpoint.cpp - The LLVM BugPoint utility ---------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This program is an automated compiler debugger tool. It is used to narrow
// down miscompilations and crash problems to a specific pass in the compiler,
From criswell at cs.uiuc.edu Mon Oct 20 12:48:08 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:08 2003
Subject: [llvm-commits] CVS: llvm/tools/analyze/AnalysisWrappers.cpp GraphPrinters.cpp analyze.cpp
Message-ID: <200310201747.MAA04360@choi.cs.uiuc.edu>
Changes in directory llvm/tools/analyze:
AnalysisWrappers.cpp updated: 1.4 -> 1.5
GraphPrinters.cpp updated: 1.2 -> 1.3
analyze.cpp updated: 1.53 -> 1.54
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+24 -0)
Index: llvm/tools/analyze/AnalysisWrappers.cpp
diff -u llvm/tools/analyze/AnalysisWrappers.cpp:1.4 llvm/tools/analyze/AnalysisWrappers.cpp:1.5
--- llvm/tools/analyze/AnalysisWrappers.cpp:1.4 Mon Jul 14 12:15:35 2003
+++ llvm/tools/analyze/AnalysisWrappers.cpp Mon Oct 20 12:47:05 2003
@@ -1,4 +1,12 @@
//===- AnalysisWrappers.cpp - Wrappers around non-pass analyses -----------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file defines pass wrappers around LLVM analyses that don't make sense to
// be passes. It provides a nice standard pass interface to these classes so
Index: llvm/tools/analyze/GraphPrinters.cpp
diff -u llvm/tools/analyze/GraphPrinters.cpp:1.2 llvm/tools/analyze/GraphPrinters.cpp:1.3
--- llvm/tools/analyze/GraphPrinters.cpp:1.2 Sun Nov 3 20:55:30 2002
+++ llvm/tools/analyze/GraphPrinters.cpp Mon Oct 20 12:47:05 2003
@@ -1,4 +1,12 @@
//===- GraphPrinters.cpp - DOT printers for various graph types -----------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This file defines several printers for various different types of graphs used
// by the LLVM infrastructure. It uses the generic graph interface to convert
Index: llvm/tools/analyze/analyze.cpp
diff -u llvm/tools/analyze/analyze.cpp:1.53 llvm/tools/analyze/analyze.cpp:1.54
--- llvm/tools/analyze/analyze.cpp:1.53 Mon May 12 17:12:44 2003
+++ llvm/tools/analyze/analyze.cpp Mon Oct 20 12:47:05 2003
@@ -1,4 +1,12 @@
//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
// The LLVM analyze utility
//
// This utility is designed to print out the results of running various analysis
From criswell at cs.uiuc.edu Mon Oct 20 12:48:10 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:10 2003
Subject: [llvm-commits] CVS: llvm/tools/opt/opt.cpp
Message-ID: <200310201747.MAA04348@choi.cs.uiuc.edu>
Changes in directory llvm/tools/opt:
opt.cpp updated: 1.83 -> 1.84
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/opt/opt.cpp
diff -u llvm/tools/opt/opt.cpp:1.83 llvm/tools/opt/opt.cpp:1.84
--- llvm/tools/opt/opt.cpp:1.83 Fri Oct 10 12:56:49 2003
+++ llvm/tools/opt/opt.cpp Mon Oct 20 12:47:21 2003
@@ -1,4 +1,12 @@
//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
// LLVM Modular Optimizer Utility: opt
//
// Optimizations may be specified an arbitrary number of times on the command
From criswell at cs.uiuc.edu Mon Oct 20 12:48:12 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:12 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-nm/llvm-nm.cpp
Message-ID: <200310201747.MAA04341@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-nm:
llvm-nm.cpp updated: 1.3 -> 1.4
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/llvm-nm/llvm-nm.cpp
diff -u llvm/tools/llvm-nm/llvm-nm.cpp:1.3 llvm/tools/llvm-nm/llvm-nm.cpp:1.4
--- llvm/tools/llvm-nm/llvm-nm.cpp:1.3 Thu Oct 16 13:45:23 2003
+++ llvm/tools/llvm-nm/llvm-nm.cpp Mon Oct 20 12:47:20 2003
@@ -1,4 +1,12 @@
//===-- llvm-nm.cpp - Symbol table dumping utility for llvm ---------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This program is a utility that works like traditional Unix "nm",
// that is, it prints out the names of symbols in a bytecode file,
From criswell at cs.uiuc.edu Mon Oct 20 12:48:13 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:13 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-link/llvm-link.cpp
Message-ID: <200310201747.MAA04334@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-link:
llvm-link.cpp updated: 1.30 -> 1.31
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/llvm-link/llvm-link.cpp
diff -u llvm/tools/llvm-link/llvm-link.cpp:1.30 llvm/tools/llvm-link/llvm-link.cpp:1.31
--- llvm/tools/llvm-link/llvm-link.cpp:1.30 Fri Oct 10 12:56:21 2003
+++ llvm/tools/llvm-link/llvm-link.cpp Mon Oct 20 12:47:19 2003
@@ -1,4 +1,12 @@
//===- llvm-link.cpp - Low-level LLVM linker ------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This utility may be invoked in the following manner:
// llvm-link a.bc b.bc c.bc -o x.bc
From criswell at cs.uiuc.edu Mon Oct 20 12:48:15 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:15 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-dis/llvm-dis.cpp
Message-ID: <200310201747.MAA04327@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-dis:
llvm-dis.cpp updated: 1.33 -> 1.34
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/llvm-dis/llvm-dis.cpp
diff -u llvm/tools/llvm-dis/llvm-dis.cpp:1.33 llvm/tools/llvm-dis/llvm-dis.cpp:1.34
--- llvm/tools/llvm-dis/llvm-dis.cpp:1.33 Fri Oct 10 12:56:36 2003
+++ llvm/tools/llvm-dis/llvm-dis.cpp Mon Oct 20 12:47:18 2003
@@ -1,4 +1,12 @@
//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
// LLVM 'DIS' UTILITY
//
// This utility may be invoked in the following manner:
From criswell at cs.uiuc.edu Mon Oct 20 12:48:17 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:17 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-as/llvm-as.cpp
Message-ID: <200310201747.MAA04320@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-as:
llvm-as.cpp updated: 1.22 -> 1.23
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/llvm-as/llvm-as.cpp
diff -u llvm/tools/llvm-as/llvm-as.cpp:1.22 llvm/tools/llvm-as/llvm-as.cpp:1.23
--- llvm/tools/llvm-as/llvm-as.cpp:1.22 Fri Oct 10 12:56:09 2003
+++ llvm/tools/llvm-as/llvm-as.cpp Mon Oct 20 12:47:17 2003
@@ -1,4 +1,12 @@
//===------------------------------------------------------------------------===
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
// LLVM 'AS' UTILITY
//
// This utility may be invoked in the following manner:
From criswell at cs.uiuc.edu Mon Oct 20 12:48:18 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:18 2003
Subject: [llvm-commits] CVS: llvm/tools/lli/lli.cpp
Message-ID: <200310201747.MAA04305@choi.cs.uiuc.edu>
Changes in directory llvm/tools/lli:
lli.cpp updated: 1.30 -> 1.31
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/lli/lli.cpp
diff -u llvm/tools/lli/lli.cpp:1.30 llvm/tools/lli/lli.cpp:1.31
--- llvm/tools/lli/lli.cpp:1.30 Tue Oct 14 16:39:53 2003
+++ llvm/tools/lli/lli.cpp Mon Oct 20 12:47:14 2003
@@ -1,4 +1,12 @@
//===- lli.cpp - LLVM Interpreter / Dynamic compiler ----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This utility provides a way to execute LLVM bytecode without static
// compilation. This consists of a very simple and slow (but portable)
From criswell at cs.uiuc.edu Mon Oct 20 12:48:20 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:20 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-ar/llvm-ar.cpp
Message-ID: <200310201747.MAA04310@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-ar:
llvm-ar.cpp updated: 1.5 -> 1.6
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/llvm-ar/llvm-ar.cpp
diff -u llvm/tools/llvm-ar/llvm-ar.cpp:1.5 llvm/tools/llvm-ar/llvm-ar.cpp:1.6
--- llvm/tools/llvm-ar/llvm-ar.cpp:1.5 Fri Oct 10 13:47:08 2003
+++ llvm/tools/llvm-ar/llvm-ar.cpp Mon Oct 20 12:47:15 2003
@@ -1,4 +1,12 @@
//===-- tools/llvm-ar/llvm-ar.cpp - LLVM archive librarian utility --------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// Builds up standard unix archive files (.a) containing LLVM bytecode.
//
From criswell at cs.uiuc.edu Mon Oct 20 12:48:22 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:22 2003
Subject: [llvm-commits] CVS: llvm/tools/llee/OSInterface.h SysUtils.h
Message-ID: <200310201747.MAA04297@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llee:
OSInterface.h updated: 1.1 -> 1.2
SysUtils.h updated: 1.3 -> 1.4
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+16 -0)
Index: llvm/tools/llee/OSInterface.h
diff -u llvm/tools/llee/OSInterface.h:1.1 llvm/tools/llee/OSInterface.h:1.2
--- llvm/tools/llee/OSInterface.h:1.1 Mon Sep 29 17:37:00 2003
+++ llvm/tools/llee/OSInterface.h Mon Oct 20 12:47:13 2003
@@ -1,4 +1,12 @@
/*===- OSInterface.h - Interface to query OS for functionality ---*- C -*--===*\
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
* *
* This file defines the prototype interface that we will expect operating *
* systems to implement if they wish to support offline cachine. *
Index: llvm/tools/llee/SysUtils.h
diff -u llvm/tools/llee/SysUtils.h:1.3 llvm/tools/llee/SysUtils.h:1.4
--- llvm/tools/llee/SysUtils.h:1.3 Mon Sep 29 17:37:00 2003
+++ llvm/tools/llee/SysUtils.h Mon Oct 20 12:47:13 2003
@@ -1,4 +1,12 @@
/*===- SysUtils.h - Utilities to do low-level system stuff -------*- C -*--===*\
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
* *
* This file contains functions used to do a variety of low-level, often *
* system-specific, tasks. *
From criswell at cs.uiuc.edu Mon Oct 20 12:48:24 2003
From: criswell at cs.uiuc.edu (John Criswell)
Date: Mon Oct 20 12:48:24 2003
Subject: [llvm-commits] CVS: llvm/tools/llc/llc.cpp
Message-ID: <200310201747.MAA04288@choi.cs.uiuc.edu>
Changes in directory llvm/tools/llc:
llc.cpp updated: 1.84 -> 1.85
---
Log message:
Added copyright header to all C++ source files.
---
Diffs of the changes: (+8 -0)
Index: llvm/tools/llc/llc.cpp
diff -u llvm/tools/llc/llc.cpp:1.84 llvm/tools/llc/llc.cpp:1.85
--- llvm/tools/llc/llc.cpp:1.84 Fri Oct 10 12:55:45 2003
+++ llvm/tools/llc/llc.cpp Mon Oct 20 12:47:12 2003
@@ -1,4 +1,12 @@
//===-- llc.cpp - Implement the LLVM Native Code Generator ----------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
//
// This is the llc code generator.
//
From lattner at cs.uiuc.edu Mon Oct 20 12:53:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:53:01 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-as/llvm-as.cpp
Message-ID: <200310201752.MAA02929@zion.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-as:
llvm-as.cpp updated: 1.23 -> 1.24
---
Log message:
Fix file header
---
Diffs of the changes: (+1 -3)
Index: llvm/tools/llvm-as/llvm-as.cpp
diff -u llvm/tools/llvm-as/llvm-as.cpp:1.23 llvm/tools/llvm-as/llvm-as.cpp:1.24
--- llvm/tools/llvm-as/llvm-as.cpp:1.23 Mon Oct 20 12:47:17 2003
+++ llvm/tools/llvm-as/llvm-as.cpp Mon Oct 20 12:52:11 2003
@@ -1,4 +1,4 @@
-//===------------------------------------------------------------------------===
+//===--- llvm-as.cpp - The low-level LLVM assembler -----------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,8 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
-// LLVM 'AS' UTILITY
//
// This utility may be invoked in the following manner:
// llvm-as --help - Output information about command line switches
From lattner at cs.uiuc.edu Mon Oct 20 12:54:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:54:01 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-dis/llvm-dis.cpp
Message-ID: <200310201753.MAA03400@zion.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-dis:
llvm-dis.cpp updated: 1.34 -> 1.35
---
Log message:
fix file header
---
Diffs of the changes: (+1 -3)
Index: llvm/tools/llvm-dis/llvm-dis.cpp
diff -u llvm/tools/llvm-dis/llvm-dis.cpp:1.34 llvm/tools/llvm-dis/llvm-dis.cpp:1.35
--- llvm/tools/llvm-dis/llvm-dis.cpp:1.34 Mon Oct 20 12:47:18 2003
+++ llvm/tools/llvm-dis/llvm-dis.cpp Mon Oct 20 12:53:02 2003
@@ -1,4 +1,4 @@
-//===----------------------------------------------------------------------===//
+//===-- llvm-dis.cpp - The low-level LLVM disassembler --------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,8 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
-// LLVM 'DIS' UTILITY
//
// This utility may be invoked in the following manner:
// llvm-dis [options] - Read LLVM bytecode from stdin, write asm to stdout
From lattner at cs.uiuc.edu Mon Oct 20 12:56:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:56:01 2003
Subject: [llvm-commits] CVS: llvm/tools/analyze/AnalysisWrappers.cpp GraphPrinters.cpp analyze.cpp
Message-ID: <200310201755.MAA03445@zion.cs.uiuc.edu>
Changes in directory llvm/tools/analyze:
AnalysisWrappers.cpp updated: 1.5 -> 1.6
GraphPrinters.cpp updated: 1.3 -> 1.4
analyze.cpp updated: 1.54 -> 1.55
---
Log message:
fix file headers
---
Diffs of the changes: (+1 -5)
Index: llvm/tools/analyze/AnalysisWrappers.cpp
diff -u llvm/tools/analyze/AnalysisWrappers.cpp:1.5 llvm/tools/analyze/AnalysisWrappers.cpp:1.6
--- llvm/tools/analyze/AnalysisWrappers.cpp:1.5 Mon Oct 20 12:47:05 2003
+++ llvm/tools/analyze/AnalysisWrappers.cpp Mon Oct 20 12:55:44 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file defines pass wrappers around LLVM analyses that don't make sense to
// be passes. It provides a nice standard pass interface to these classes so
Index: llvm/tools/analyze/GraphPrinters.cpp
diff -u llvm/tools/analyze/GraphPrinters.cpp:1.3 llvm/tools/analyze/GraphPrinters.cpp:1.4
--- llvm/tools/analyze/GraphPrinters.cpp:1.3 Mon Oct 20 12:47:05 2003
+++ llvm/tools/analyze/GraphPrinters.cpp Mon Oct 20 12:55:44 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file defines several printers for various different types of graphs used
// by the LLVM infrastructure. It uses the generic graph interface to convert
Index: llvm/tools/analyze/analyze.cpp
diff -u llvm/tools/analyze/analyze.cpp:1.54 llvm/tools/analyze/analyze.cpp:1.55
--- llvm/tools/analyze/analyze.cpp:1.54 Mon Oct 20 12:47:05 2003
+++ llvm/tools/analyze/analyze.cpp Mon Oct 20 12:55:44 2003
@@ -1,4 +1,4 @@
-//===----------------------------------------------------------------------===//
+//===- analyze.cpp - The LLVM analyze utility -----------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,8 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
-// The LLVM analyze utility
//
// This utility is designed to print out the results of running various analysis
// passes on a program. This is useful for understanding a program, or for
From lattner at cs.uiuc.edu Mon Oct 20 12:56:03 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:56:03 2003
Subject: [llvm-commits] CVS: llvm/tools/llvm-nm/llvm-nm.cpp
Message-ID: <200310201755.MAA03426@zion.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-nm:
llvm-nm.cpp updated: 1.4 -> 1.5
---
Log message:
fix file header
---
Diffs of the changes: (+0 -1)
Index: llvm/tools/llvm-nm/llvm-nm.cpp
diff -u llvm/tools/llvm-nm/llvm-nm.cpp:1.4 llvm/tools/llvm-nm/llvm-nm.cpp:1.5
--- llvm/tools/llvm-nm/llvm-nm.cpp:1.4 Mon Oct 20 12:47:20 2003
+++ llvm/tools/llvm-nm/llvm-nm.cpp Mon Oct 20 12:54:58 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This program is a utility that works like traditional Unix "nm",
// that is, it prints out the names of symbols in a bytecode file,
From lattner at cs.uiuc.edu Mon Oct 20 12:58:02 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:58:02 2003
Subject: [llvm-commits] CVS: llvm/tools/bugpoint/BugDriver.cpp BugDriver.h CodeGeneratorBug.cpp CrashDebugger.cpp ExecutionDriver.cpp ExtractFunction.cpp ListReducer.h Miscompilation.cpp OptimizerDriver.cpp TestPasses.cpp bugpoint.cpp
Message-ID: <200310201757.MAA03532@zion.cs.uiuc.edu>
Changes in directory llvm/tools/bugpoint:
BugDriver.cpp updated: 1.19 -> 1.20
BugDriver.h updated: 1.18 -> 1.19
CodeGeneratorBug.cpp updated: 1.27 -> 1.28
CrashDebugger.cpp updated: 1.20 -> 1.21
ExecutionDriver.cpp updated: 1.30 -> 1.31
ExtractFunction.cpp updated: 1.15 -> 1.16
ListReducer.h updated: 1.6 -> 1.7
Miscompilation.cpp updated: 1.22 -> 1.23
OptimizerDriver.cpp updated: 1.14 -> 1.15
TestPasses.cpp updated: 1.4 -> 1.5
bugpoint.cpp updated: 1.9 -> 1.10
---
Log message:
fix file headers
---
Diffs of the changes: (+1 -12)
Index: llvm/tools/bugpoint/BugDriver.cpp
diff -u llvm/tools/bugpoint/BugDriver.cpp:1.19 llvm/tools/bugpoint/BugDriver.cpp:1.20
--- llvm/tools/bugpoint/BugDriver.cpp:1.19 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/BugDriver.cpp Mon Oct 20 12:57:12 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This class contains all of the shared state and information that is used by
// the BugPoint tool to track down errors in optimizations. This class is the
Index: llvm/tools/bugpoint/BugDriver.h
diff -u llvm/tools/bugpoint/BugDriver.h:1.18 llvm/tools/bugpoint/BugDriver.h:1.19
--- llvm/tools/bugpoint/BugDriver.h:1.18 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/BugDriver.h Mon Oct 20 12:57:12 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This class contains all of the shared state and information that is used by
// the BugPoint tool to track down errors in optimizations. This class is the
Index: llvm/tools/bugpoint/CodeGeneratorBug.cpp
diff -u llvm/tools/bugpoint/CodeGeneratorBug.cpp:1.27 llvm/tools/bugpoint/CodeGeneratorBug.cpp:1.28
--- llvm/tools/bugpoint/CodeGeneratorBug.cpp:1.27 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/CodeGeneratorBug.cpp Mon Oct 20 12:57:12 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file implements program code generation debugging support.
//
Index: llvm/tools/bugpoint/CrashDebugger.cpp
diff -u llvm/tools/bugpoint/CrashDebugger.cpp:1.20 llvm/tools/bugpoint/CrashDebugger.cpp:1.21
--- llvm/tools/bugpoint/CrashDebugger.cpp:1.20 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/CrashDebugger.cpp Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file defines the bugpoint internals that narrow down compilation crashes
//
Index: llvm/tools/bugpoint/ExecutionDriver.cpp
diff -u llvm/tools/bugpoint/ExecutionDriver.cpp:1.30 llvm/tools/bugpoint/ExecutionDriver.cpp:1.31
--- llvm/tools/bugpoint/ExecutionDriver.cpp:1.30 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/ExecutionDriver.cpp Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file contains code used to execute the program utilizing one of the
// various ways of running LLVM bytecode.
Index: llvm/tools/bugpoint/ExtractFunction.cpp
diff -u llvm/tools/bugpoint/ExtractFunction.cpp:1.15 llvm/tools/bugpoint/ExtractFunction.cpp:1.16
--- llvm/tools/bugpoint/ExtractFunction.cpp:1.15 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/ExtractFunction.cpp Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file implements a method that extracts a function from program, cleans
// it up, and returns it as a new module.
Index: llvm/tools/bugpoint/ListReducer.h
diff -u llvm/tools/bugpoint/ListReducer.h:1.6 llvm/tools/bugpoint/ListReducer.h:1.7
--- llvm/tools/bugpoint/ListReducer.h:1.6 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/ListReducer.h Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This class is to be used as a base class for operations that want to zero in
// on a subset of the input which still causes the bug we are tracking.
Index: llvm/tools/bugpoint/Miscompilation.cpp
diff -u llvm/tools/bugpoint/Miscompilation.cpp:1.22 llvm/tools/bugpoint/Miscompilation.cpp:1.23
--- llvm/tools/bugpoint/Miscompilation.cpp:1.22 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/Miscompilation.cpp Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file implements program miscompilation debugging support.
//
Index: llvm/tools/bugpoint/OptimizerDriver.cpp
diff -u llvm/tools/bugpoint/OptimizerDriver.cpp:1.14 llvm/tools/bugpoint/OptimizerDriver.cpp:1.15
--- llvm/tools/bugpoint/OptimizerDriver.cpp:1.14 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/OptimizerDriver.cpp Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file defines an interface that allows bugpoint to run various passes
// without the threat of a buggy pass corrupting bugpoint (of course, bugpoint
Index: llvm/tools/bugpoint/TestPasses.cpp
diff -u llvm/tools/bugpoint/TestPasses.cpp:1.4 llvm/tools/bugpoint/TestPasses.cpp:1.5
--- llvm/tools/bugpoint/TestPasses.cpp:1.4 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/TestPasses.cpp Mon Oct 20 12:57:13 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file contains "buggy" passes that are used to test bugpoint, to check
// that it is narrowing down testcases correctly.
Index: llvm/tools/bugpoint/bugpoint.cpp
diff -u llvm/tools/bugpoint/bugpoint.cpp:1.9 llvm/tools/bugpoint/bugpoint.cpp:1.10
--- llvm/tools/bugpoint/bugpoint.cpp:1.9 Mon Oct 20 12:47:07 2003
+++ llvm/tools/bugpoint/bugpoint.cpp Mon Oct 20 12:57:13 2003
@@ -1,4 +1,4 @@
-//===- bugpoint.cpp - The LLVM BugPoint utility ---------------------------===//
+//===- bugpoint.cpp - The LLVM Bugpoint utility ---------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This program is an automated compiler debugger tool. It is used to narrow
// down miscompilations and crash problems to a specific pass in the compiler,
From lattner at cs.uiuc.edu Mon Oct 20 12:59:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:59:01 2003
Subject: [llvm-commits] CVS: llvm/tools/gccld/GenerateCode.cpp Linker.cpp gccld.cpp gccld.h
Message-ID: <200310201758.MAA03587@zion.cs.uiuc.edu>
Changes in directory llvm/tools/gccld:
GenerateCode.cpp updated: 1.8 -> 1.9
Linker.cpp updated: 1.10 -> 1.11
gccld.cpp updated: 1.56 -> 1.57
gccld.h updated: 1.2 -> 1.3
---
Log message:
fix file header
---
Diffs of the changes: (+1 -5)
Index: llvm/tools/gccld/GenerateCode.cpp
diff -u llvm/tools/gccld/GenerateCode.cpp:1.8 llvm/tools/gccld/GenerateCode.cpp:1.9
--- llvm/tools/gccld/GenerateCode.cpp:1.8 Mon Oct 20 12:47:11 2003
+++ llvm/tools/gccld/GenerateCode.cpp Mon Oct 20 12:58:43 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file contains functions for generating executable files once linking
// has finished. This includes generating a shell script to run the JIT or
Index: llvm/tools/gccld/Linker.cpp
diff -u llvm/tools/gccld/Linker.cpp:1.10 llvm/tools/gccld/Linker.cpp:1.11
--- llvm/tools/gccld/Linker.cpp:1.10 Mon Oct 20 12:47:11 2003
+++ llvm/tools/gccld/Linker.cpp Mon Oct 20 12:58:43 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file contains routines to handle linking together LLVM bytecode files,
// and to handle annoying things like static libraries.
Index: llvm/tools/gccld/gccld.cpp
diff -u llvm/tools/gccld/gccld.cpp:1.56 llvm/tools/gccld/gccld.cpp:1.57
--- llvm/tools/gccld/gccld.cpp:1.56 Mon Oct 20 12:47:11 2003
+++ llvm/tools/gccld/gccld.cpp Mon Oct 20 12:58:43 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This utility is intended to be compatible with GCC, and follows standard
// system 'ld' conventions. As such, the default output file is ./a.out.
Index: llvm/tools/gccld/gccld.h
diff -u llvm/tools/gccld/gccld.h:1.2 llvm/tools/gccld/gccld.h:1.3
--- llvm/tools/gccld/gccld.h:1.2 Mon Oct 20 12:47:11 2003
+++ llvm/tools/gccld/gccld.h Mon Oct 20 12:58:43 2003
@@ -1,4 +1,4 @@
-//===- util.h - Utility functions header file -----------------------------===//
+//===- gccld.h - Utility functions header file ----------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This file contains function prototypes for the functions in util.cpp.
//
From lattner at cs.uiuc.edu Mon Oct 20 12:59:03 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:59:03 2003
Subject: [llvm-commits] CVS: llvm/tools/gccas/gccas.cpp
Message-ID: <200310201758.MAA03574@zion.cs.uiuc.edu>
Changes in directory llvm/tools/gccas:
gccas.cpp updated: 1.81 -> 1.82
---
Log message:
fix file header
---
Diffs of the changes: (+0 -1)
Index: llvm/tools/gccas/gccas.cpp
diff -u llvm/tools/gccas/gccas.cpp:1.81 llvm/tools/gccas/gccas.cpp:1.82
--- llvm/tools/gccas/gccas.cpp:1.81 Mon Oct 20 12:47:09 2003
+++ llvm/tools/gccas/gccas.cpp Mon Oct 20 12:58:41 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This utility is designed to be used by the GCC frontend for creating bytecode
// files from its intermediate LLVM assembly. The requirements for this utility
From lattner at cs.uiuc.edu Mon Oct 20 12:59:05 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 12:59:05 2003
Subject: [llvm-commits] CVS: llvm/tools/extract/extract.cpp
Message-ID: <200310201758.MAA03567@zion.cs.uiuc.edu>
Changes in directory llvm/tools/extract:
extract.cpp updated: 1.16 -> 1.17
---
Log message:
fix file header
---
Diffs of the changes: (+0 -1)
Index: llvm/tools/extract/extract.cpp
diff -u llvm/tools/extract/extract.cpp:1.16 llvm/tools/extract/extract.cpp:1.17
--- llvm/tools/extract/extract.cpp:1.16 Mon Oct 20 12:47:08 2003
+++ llvm/tools/extract/extract.cpp Mon Oct 20 12:58:40 2003
@@ -6,7 +6,6 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-//
//
// This utility changes the input module to only contain a single function,
// which is primarily used for debugging transformations.
From gaeke at cs.uiuc.edu Mon Oct 20 13:00:02 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 13:00:02 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86TargetMachine.h
Message-ID: <200310201759.MAA15846@gally.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86TargetMachine.h updated: 1.14 -> 1.15
---
Log message:
Minor leftover fixups from replaceMachineCodeForFunction () change.
---
Diffs of the changes: (+1 -1)
Index: llvm/lib/Target/X86/X86TargetMachine.h
diff -u llvm/lib/Target/X86/X86TargetMachine.h:1.14 llvm/lib/Target/X86/X86TargetMachine.h:1.15
--- llvm/lib/Target/X86/X86TargetMachine.h:1.14 Fri Oct 17 13:27:25 2003
+++ llvm/lib/Target/X86/X86TargetMachine.h Mon Oct 20 12:59:09 2003
@@ -45,7 +45,7 @@
virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out);
- virtual bool replaceMachineCodeForFunction (void *Old, void *New);
+ virtual void replaceMachineCodeForFunction (void *Old, void *New);
};
#endif
From gaeke at cs.uiuc.edu Mon Oct 20 13:00:05 2003
From: gaeke at cs.uiuc.edu (Brian Gaeke)
Date: Mon Oct 20 13:00:05 2003
Subject: [llvm-commits] CVS: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
Message-ID: <200310201759.MAA15837@gally.cs.uiuc.edu>
Changes in directory llvm/lib/Target/Sparc:
SparcV9CodeEmitter.cpp updated: 1.37 -> 1.38
---
Log message:
Minor leftover fixups from replaceMachineCodeForFunction () change.
---
Diffs of the changes: (+2 -1)
Index: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
diff -u llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.37 llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.38
--- llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.37 Mon Oct 20 10:15:16 2003
+++ llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp Mon Oct 20 12:59:07 2003
@@ -563,7 +563,8 @@
}
void UltraSparc::replaceMachineCodeForFunction (void *Old, void *New) {
- if (!TheJITResolver) return true; // fail if not in JIT.
+ assert (TheJITResolver &&
+ "Can only call replaceMachineCodeForFunction from within JIT");
uint64_t Target = (uint64_t)(intptr_t)New;
uint64_t CodeBegin = (uint64_t)(intptr_t)Old;
TheJITResolver->insertJumpAtAddr(Target, CodeBegin);
From lattner at cs.uiuc.edu Mon Oct 20 14:06:01 2003
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon Oct 20 14:06:01 2003
Subject: [llvm-commits] CVS: llvm/docs/ReleaseNotes.html
Message-ID: <200310201905.OAA06736@zion.cs.uiuc.edu>
Changes in directory llvm/docs:
ReleaseNotes.html updated: 1.9 -> 1.10
---
Log message:
Update release notes
---
Diffs of the changes: (+10 -21)
Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.9 llvm/docs/ReleaseNotes.html:1.10
--- llvm/docs/ReleaseNotes.html:1.9 Sun Oct 12 16:51:55 2003
+++ llvm/docs/ReleaseNotes.html Mon Oct 20 14:05:03 2003
@@ -100,15 +100,10 @@
Interprocedural dead code elimination (-globaldce)
-
-TODO: Works on: SPEC CPU 2000
-TODO: Works on: Olden/Ptrdist benchmarks
-
-The What's New section should give a bulletted list of what is
-included, perhaps a couple of lists (Stable, Beta).
-
-It would be useful to give a pointer to a list of the available passes (at least
-for the standard compiler techniques).
+At this time, LLVM is known to work properly with SPEC CPU 2000, the Olden
+benchmarks, and the Ptrdist benchmarks among many other programs. Note however
+that the Sparc and X86 backends do not currently support exception throwing or
+long jumping. For these programs you must use the C backend.
@@ -163,7 +158,8 @@
It is not possible to dlopen an LLVM bytecode file in the JIT.
-
Linking in static archive files (.a files) is very slow.
+Linking in static archive files (.a files) is very slow (there is no symbol
+table in the archive).
@@ -363,10 +354,8 @@
(for example, GCC requires the -fno-strict-aliasing option). This
problem probably cannot be fixed.
-
- Initializers for global variables that include floating point numbers may
-not be initialized with exactly the right floating point number, if the number
-is not accurately representable in decimal. This prevents the Olden "power"
-benchmark from producing exactly the right results with the C back-end.
+
- Initializers for global variables
+cannot include special floating point numbers like Not-A-Number or Infinity.
- The code produces by the C back-end has only been tested with the Sun CC and
GCC compilers. It is possible that it will have to be adjusted to support other
@@ -386,7 +375,7 @@
implemented in LLVM. The web page also contains versions of the API
documentation which is up-to-date with the CVS version of the source code. You
can access versions of these documents specific to this release by going into
-the "llvm/www/doc/" directory in the LLVM tree.
+the "llvm/doc/" directory in the LLVM tree.
If you have any questions or comments about LLVM, please feel free to contact us
via the mailing lists.
@@ -401,6 +390,6 @@
Maintained By: The LLVM Team
-Last modified: Sun Oct 12 16:51:06 CDT 2003
+Last modified: Mon Oct 20 14:04:51 CDT 2003