From lattner at cs.uiuc.edu Mon Jul 26 00:04:36 2004
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon, 26 Jul 2004 00:04:36 -0500
Subject: [llvm-commits]
CVS: llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx
Message-ID: <200407260504.AAA32151@apoc.cs.uiuc.edu>
Changes in directory llvm/test/Regression/CodeGen/CBackend:
2004-02-26-FPNotPrintableConstants.llx updated: 1.2 -> 1.3
---
Log message:
Update test
---
Diffs of the changes: (+2 -2)
Index: llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx
diff -u llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx:1.2 llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx:1.3
--- llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx:1.2 Thu Feb 26 16:56:13 2004
+++ llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx Mon Jul 26 00:04:25 2004
@@ -1,7 +1,7 @@
-; This is a non-normal FP value: it's a nan.
+; This is a non-normal FP value
; RUN: llvm-as < %s | llc -march=c | grep FPConstant | grep static
float %func () {
- ret float 0xFF20000000000000
+ ret float 0xFFF0000000000000 ; -inf
}
From lattner at cs.uiuc.edu Mon Jul 26 00:50:19 2004
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon, 26 Jul 2004 00:50:19 -0500
Subject: [llvm-commits] CVS: llvm/include/llvm/Analysis/AliasSetTracker.h
Message-ID: <200407260550.AAA32741@apoc.cs.uiuc.edu>
Changes in directory llvm/include/llvm/Analysis:
AliasSetTracker.h updated: 1.17 -> 1.18
---
Log message:
New methods
---
Diffs of the changes: (+2 -0)
Index: llvm/include/llvm/Analysis/AliasSetTracker.h
diff -u llvm/include/llvm/Analysis/AliasSetTracker.h:1.17 llvm/include/llvm/Analysis/AliasSetTracker.h:1.18
--- llvm/include/llvm/Analysis/AliasSetTracker.h:1.17 Sun Jul 25 02:57:21 2004
+++ llvm/include/llvm/Analysis/AliasSetTracker.h Mon Jul 26 00:50:09 2004
@@ -262,6 +262,7 @@
/// These methods return true if inserting the instruction resulted in the
/// addition of a new alias set (i.e., the pointer did not alias anything).
///
+ bool add(Value *Ptr, unsigned Size); // Add a location
bool add(LoadInst *LI);
bool add(StoreInst *SI);
bool add(FreeInst *FI);
@@ -275,6 +276,7 @@
/// remove methods - These methods are used to remove all entries that might
/// be aliased by the specified instruction. These methods return true if any
/// alias sets were eliminated.
+ bool remove(Value *Ptr, unsigned Size); // Remove a location
bool remove(LoadInst *LI);
bool remove(StoreInst *SI);
bool remove(FreeInst *FI);
From lattner at cs.uiuc.edu Mon Jul 26 00:50:33 2004
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon, 26 Jul 2004 00:50:33 -0500
Subject: [llvm-commits] CVS: llvm/lib/Analysis/AliasSetTracker.cpp
Message-ID: <200407260550.AAA32752@apoc.cs.uiuc.edu>
Changes in directory llvm/lib/Analysis:
AliasSetTracker.cpp updated: 1.22 -> 1.23
---
Log message:
Add some new methods
---
Diffs of the changes: (+13 -0)
Index: llvm/lib/Analysis/AliasSetTracker.cpp
diff -u llvm/lib/Analysis/AliasSetTracker.cpp:1.22 llvm/lib/Analysis/AliasSetTracker.cpp:1.23
--- llvm/lib/Analysis/AliasSetTracker.cpp:1.22 Sun Jul 25 13:32:01 2004
+++ llvm/lib/Analysis/AliasSetTracker.cpp Mon Jul 26 00:50:23 2004
@@ -215,6 +215,13 @@
}
}
+bool AliasSetTracker::add(Value *Ptr, unsigned Size) {
+ bool NewPtr;
+ addPointer(Ptr, Size, AliasSet::NoModRef, NewPtr);
+ return NewPtr;
+}
+
+
bool AliasSetTracker::add(LoadInst *LI) {
bool NewPtr;
AliasSet &AS = addPointer(LI->getOperand(0),
@@ -319,6 +326,12 @@
} while (!SetDead);
}
+bool AliasSetTracker::remove(Value *Ptr, unsigned Size) {
+ AliasSet *AS = findAliasSetForPointer(Ptr, Size);
+ if (!AS) return false;
+ remove(*AS);
+ return true;
+}
bool AliasSetTracker::remove(LoadInst *LI) {
unsigned Size = AA.getTargetData().getTypeSize(LI->getType());
From lattner at cs.uiuc.edu Mon Jul 26 01:11:53 2004
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon, 26 Jul 2004 01:11:53 -0500
Subject: [llvm-commits]
CVS: llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx
Message-ID: <200407260611.BAA01187@apoc.cs.uiuc.edu>
Changes in directory llvm/test/Regression/Transforms/DeadStoreElimination:
alloca.llx added (r1.1)
---
Log message:
New testcase
---
Diffs of the changes: (+8 -0)
Index: llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx
diff -c /dev/null llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx:1.1
*** /dev/null Mon Jul 26 01:11:53 2004
--- llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx Mon Jul 26 01:11:42 2004
***************
*** 0 ****
--- 1,8 ----
+ ; RUN: llvm-as < %s | opt -dse | llvm-dis | not grep DEAD
+
+ void %test(int* %Q) {
+ %P = alloca int
+ %DEAD = load int* %Q
+ store int %DEAD, int* %P ;; Alloca goes out of scope, dead store.
+ ret void
+ }
From lattner at cs.uiuc.edu Mon Jul 26 01:14:21 2004
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon, 26 Jul 2004 01:14:21 -0500
Subject: [llvm-commits]
CVS: llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Message-ID: <200407260614.BAA01205@apoc.cs.uiuc.edu>
Changes in directory llvm/lib/Transforms/Scalar:
DeadStoreElimination.cpp updated: 1.4 -> 1.5
---
Log message:
Implement DeadStoreElim/alloca.llx by observing that allocas are dead at the
end of the function (either return or unwind)
---
Diffs of the changes: (+4 -1)
Index: llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
diff -u llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1.4 llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1.5
--- llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1.4 Sun Jul 25 06:09:56 2004
+++ llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp Mon Jul 26 01:14:11 2004
@@ -66,7 +66,10 @@
// If this block ends in a return, unwind, and eventually tailcall/barrier,
// then all allocas are dead at its end.
if (BB.getTerminator()->getNumSuccessors() == 0) {
-
+ BasicBlock *Entry = BB.getParent()->begin();
+ for (BasicBlock::iterator I = Entry->begin(), E = Entry->end(); I != E; ++I)
+ if (AllocaInst *AI = dyn_cast(I))
+ KillLocs.add(AI, ~0);
}
// PotentiallyDeadInsts - Deleting dead stores from the program can make other
From llvm at cs.uiuc.edu Mon Jul 26 10:04:23 2004
From: llvm at cs.uiuc.edu (LLVM)
Date: Mon, 26 Jul 2004 10:04:23 -0500
Subject: [llvm-commits]
CVS: llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx
Message-ID: <200407261504.KAA24755@zion.cs.uiuc.edu>
Changes in directory llvm/test/Regression/CodeGen/CBackend:
2004-02-26-FPNotPrintableConstants.llx updated: 1.3 -> 1.4
---
Log message:
Added another test case for double FP constants as well.
---
Diffs of the changes: (+3 -0)
Index: llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx
diff -u llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx:1.3 llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx:1.4
--- llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx:1.3 Mon Jul 26 00:04:25 2004
+++ llvm/test/Regression/CodeGen/CBackend/2004-02-26-FPNotPrintableConstants.llx Mon Jul 26 10:04:13 2004
@@ -5,3 +5,6 @@
ret float 0xFFF0000000000000 ; -inf
}
+double %func2() {
+ ret double 0xFF20000000000000 ; -inf
+}
From brukman at cs.uiuc.edu Mon Jul 26 13:43:21 2004
From: brukman at cs.uiuc.edu (Misha Brukman)
Date: Mon, 26 Jul 2004 13:43:21 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/FloatingPoint.cpp
InstSelectPattern.cpp InstSelectSimple.cpp
PeepholeOptimizer.cpp Printer.cpp
Message-ID: <200407261843.NAA26939@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
FloatingPoint.cpp (r1.38) removed
InstSelectPattern.cpp (r1.8) removed
InstSelectSimple.cpp (r1.275) removed
PeepholeOptimizer.cpp (r1.33) removed
Printer.cpp (r1.104) removed
---
Log message:
Renamed files to have the `X86' prefix for uniqueness purposes.
All CVS history was renamed, the *,v were copied over. No worries.
---
Diffs of the changes: (+0 -0)
From brukman at cs.uiuc.edu Mon Jul 26 13:45:59 2004
From: brukman at cs.uiuc.edu (Misha Brukman)
Date: Mon, 26 Jul 2004 13:45:59 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86AsmPrinter.cpp
X86FloatingPoint.cpp X86ISelPattern.cpp X86ISelSimple.cpp
X86PeepholeOpt.cpp
Message-ID: <200407261845.NAA28255@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86AsmPrinter.cpp updated: 1.104 -> 1.105
X86FloatingPoint.cpp updated: 1.38 -> 1.39
X86ISelPattern.cpp updated: 1.8 -> 1.9
X86ISelSimple.cpp updated: 1.275 -> 1.276
X86PeepholeOpt.cpp updated: 1.33 -> 1.34
---
Log message:
Fix file header as it has been renamed.
---
Diffs of the changes: (+5 -5)
Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.104 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.105
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.104 Sat Jul 17 19:33:38 2004
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp Mon Jul 26 13:45:48 2004
@@ -1,4 +1,4 @@
-//===-- X86/Printer.cpp - Convert X86 LLVM code to Intel assembly ---------===//
+//===-- X86AsmPrinter.cpp - Convert X86 LLVM code to Intel assembly -------===//
//
// The LLVM Compiler Infrastructure
//
Index: llvm/lib/Target/X86/X86FloatingPoint.cpp
diff -u llvm/lib/Target/X86/X86FloatingPoint.cpp:1.38 llvm/lib/Target/X86/X86FloatingPoint.cpp:1.39
--- llvm/lib/Target/X86/X86FloatingPoint.cpp:1.38 Thu Jun 24 19:13:11 2004
+++ llvm/lib/Target/X86/X86FloatingPoint.cpp Mon Jul 26 13:45:48 2004
@@ -1,4 +1,4 @@
-//===-- FloatingPoint.cpp - Floating point Reg -> Stack converter ---------===//
+//===-- X86FloatingPoint.cpp - Floating point Reg -> Stack converter ------===//
//
// The LLVM Compiler Infrastructure
//
Index: llvm/lib/Target/X86/X86ISelPattern.cpp
diff -u llvm/lib/Target/X86/X86ISelPattern.cpp:1.8 llvm/lib/Target/X86/X86ISelPattern.cpp:1.9
--- llvm/lib/Target/X86/X86ISelPattern.cpp:1.8 Sun Jul 4 07:19:56 2004
+++ llvm/lib/Target/X86/X86ISelPattern.cpp Mon Jul 26 13:45:48 2004
@@ -1,4 +1,4 @@
-//===-- InstSelectPattern.cpp - A pattern matching inst selector for X86 --===//
+//===-- X86ISelPattern.cpp - A pattern matching inst selector for X86 -----===//
//
// The LLVM Compiler Infrastructure
//
Index: llvm/lib/Target/X86/X86ISelSimple.cpp
diff -u llvm/lib/Target/X86/X86ISelSimple.cpp:1.275 llvm/lib/Target/X86/X86ISelSimple.cpp:1.276
--- llvm/lib/Target/X86/X86ISelSimple.cpp:1.275 Wed Jul 21 16:28:26 2004
+++ llvm/lib/Target/X86/X86ISelSimple.cpp Mon Jul 26 13:45:48 2004
@@ -1,4 +1,4 @@
-//===-- InstSelectSimple.cpp - A simple instruction selector for x86 ------===//
+//===-- X86ISelSimple.cpp - A simple instruction selector for x86 ---------===//
//
// The LLVM Compiler Infrastructure
//
Index: llvm/lib/Target/X86/X86PeepholeOpt.cpp
diff -u llvm/lib/Target/X86/X86PeepholeOpt.cpp:1.33 llvm/lib/Target/X86/X86PeepholeOpt.cpp:1.34
--- llvm/lib/Target/X86/X86PeepholeOpt.cpp:1.33 Wed Jun 2 00:55:25 2004
+++ llvm/lib/Target/X86/X86PeepholeOpt.cpp Mon Jul 26 13:45:48 2004
@@ -1,4 +1,4 @@
-//===-- PeepholeOptimizer.cpp - X86 Peephole Optimizer --------------------===//
+//===-- X86PeepholeOpt.cpp - X86 Peephole Optimizer -----------------------===//
//
// The LLVM Compiler Infrastructure
//
From brukman at cs.uiuc.edu Mon Jul 26 13:49:08 2004
From: brukman at cs.uiuc.edu (Misha Brukman)
Date: Mon, 26 Jul 2004 13:49:08 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86AsmPrinter.cpp
Message-ID: <200407261849.NAA28291@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86AsmPrinter.cpp updated: 1.105 -> 1.106
---
Log message:
Fix indentation: should be 2 spaces.
---
Diffs of the changes: (+25 -25)
Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.105 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.106
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.105 Mon Jul 26 13:45:48 2004
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp Mon Jul 26 13:48:58 2004
@@ -41,34 +41,34 @@
cl::desc("Emit X86 assembly code suitable for consumption by cygwin"));
struct GasBugWorkaroundEmitter : public MachineCodeEmitter {
- GasBugWorkaroundEmitter(std::ostream& o)
- : O(o), OldFlags(O.flags()), firstByte(true) {
- O << std::hex;
- }
+ GasBugWorkaroundEmitter(std::ostream& o)
+ : O(o), OldFlags(O.flags()), firstByte(true) {
+ O << std::hex;
+ }
- ~GasBugWorkaroundEmitter() {
- O.flags(OldFlags);
- O << "\t# ";
- }
+ ~GasBugWorkaroundEmitter() {
+ O.flags(OldFlags);
+ O << "\t# ";
+ }
- virtual void emitByte(unsigned char B) {
- if (!firstByte) O << "\n\t";
- firstByte = false;
- O << ".byte 0x" << (unsigned) B;
- }
+ virtual void emitByte(unsigned char B) {
+ if (!firstByte) O << "\n\t";
+ firstByte = false;
+ O << ".byte 0x" << (unsigned) B;
+ }
- // These should never be called
- virtual void emitWord(unsigned W) { assert(0); }
- virtual uint64_t getGlobalValueAddress(GlobalValue *V) { abort(); }
- virtual uint64_t getGlobalValueAddress(const std::string &Name) { abort(); }
- virtual uint64_t getConstantPoolEntryAddress(unsigned Index) { abort(); }
- virtual uint64_t getCurrentPCValue() { abort(); }
- virtual uint64_t forceCompilationOf(Function *F) { abort(); }
+ // These should never be called
+ virtual void emitWord(unsigned W) { assert(0); }
+ virtual uint64_t getGlobalValueAddress(GlobalValue *V) { abort(); }
+ virtual uint64_t getGlobalValueAddress(const std::string &Name) { abort(); }
+ virtual uint64_t getConstantPoolEntryAddress(unsigned Index) { abort(); }
+ virtual uint64_t getCurrentPCValue() { abort(); }
+ virtual uint64_t forceCompilationOf(Function *F) { abort(); }
private:
- std::ostream& O;
- std::ios::fmtflags OldFlags;
- bool firstByte;
+ std::ostream& O;
+ std::ios::fmtflags OldFlags;
+ bool firstByte;
};
struct Printer : public MachineFunctionPass {
@@ -920,8 +920,8 @@
MI->getOpcode() == X86::FLD80m ||
MI->getOpcode() == X86::FILD64m ||
MI->getOpcode() == X86::FISTP64m) {
- GasBugWorkaroundEmitter gwe(O);
- X86::emitInstruction(gwe, (X86InstrInfo&)*TM.getInstrInfo(), *MI);
+ GasBugWorkaroundEmitter gwe(O);
+ X86::emitInstruction(gwe, (X86InstrInfo&)*TM.getInstrInfo(), *MI);
}
O << TII.getName(MI->getOpcode()) << " ";
From lattner at cs.uiuc.edu Mon Jul 26 16:17:06 2004
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Mon, 26 Jul 2004 16:17:06 -0500
Subject: [llvm-commits] CVS: llvm/docs/TableGenFundamentals.html
Message-ID: <200407262117.QAA03327@apoc.cs.uiuc.edu>
Changes in directory llvm/docs:
TableGenFundamentals.html updated: 1.8 -> 1.9
---
Log message:
Remove dead section
---
Diffs of the changes: (+2 -18)
Index: llvm/docs/TableGenFundamentals.html
diff -u llvm/docs/TableGenFundamentals.html:1.8 llvm/docs/TableGenFundamentals.html:1.9
--- llvm/docs/TableGenFundamentals.html:1.8 Thu Jun 3 18:41:48 2004
+++ llvm/docs/TableGenFundamentals.html Mon Jul 26 16:16:55 2004
@@ -41,10 +41,6 @@
- todo
- The LLVM code generator
-
- - todo
-
@@ -68,7 +64,7 @@
The core part of TableGen parses a file, instantiates
the declarations, and hands the result off to a domain-specific "TableGen backend" for processing. The current major user
-of TableGen is the LLVM code generator.
+of TableGen is the LLVM code generator.
Note that if you work on TableGen much, and use emacs or vim, that you can
find an emacs "TableGen mode" and a vim language file in
@@ -551,18 +547,6 @@
-
-
-
-
-
This is just a temporary, convenient, place to put stuff about the code
-generator before it gets its own document. This should describe all of the
-tablegen backends used by the code generator and the classes/definitions they
-expect.
-
-
-
@@ -573,7 +557,7 @@
Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2004/06/03 23:41:48 $
+ Last modified: $Date: 2004/07/26 21:16:55 $