oota-llvm.git
19 years agoFix typo in comment.
Brian Gaeke [Thu, 29 Jul 2004 04:22:30 +0000 (04:22 +0000)]
Fix typo in comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15318 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove mustSaveAcrossCalls flag, which isn't ever read, and its mutator,
Brian Gaeke [Thu, 29 Jul 2004 04:15:36 +0000 (04:15 +0000)]
Remove mustSaveAcrossCalls flag, which isn't ever read, and its mutator,
markForSaveAcrossCalls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15317 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMove Transforms/BasicAA to Analysis/BasicAA
Chris Lattner [Thu, 29 Jul 2004 01:34:10 +0000 (01:34 +0000)]
Move Transforms/BasicAA to Analysis/BasicAA

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15316 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDue to a bug in BasicAA, DSE is incorrectly deleting the first store in
Chris Lattner [Thu, 29 Jul 2004 01:33:05 +0000 (01:33 +0000)]
Due to a bug in BasicAA, DSE is incorrectly deleting the first store in
this testcase, causing the miscompilation of MallocBench/gs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15315 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUpdates to reflect most recent changes to bytecode file format:
Reid Spencer [Thu, 29 Jul 2004 00:13:04 +0000 (00:13 +0000)]
Updates to reflect most recent changes to bytecode file format:
* Dependent libraries & target triple
* Short block headers
* 24-bit type slot ids.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15314 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix grammar, eliminate double parenthesized sentence fragment.
Misha Brukman [Wed, 28 Jul 2004 22:37:57 +0000 (22:37 +0000)]
Fix grammar, eliminate double parenthesized sentence fragment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15313 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Wrap code listings in <div class="doc_code">
Misha Brukman [Wed, 28 Jul 2004 22:31:54 +0000 (22:31 +0000)]
* Wrap code listings in <div class="doc_code">
* Wrap keywords in <tt>
* Wrap lines at 80 cols

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15312 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Use the doc_code class for code listings to make it stand out from text
Misha Brukman [Wed, 28 Jul 2004 22:18:33 +0000 (22:18 +0000)]
* Use the doc_code class for code listings to make it stand out from text
* Wrap text in soft, comfortable <div>s and <p>s
* Wrap lines at 80 cols

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15311 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPut <tt> around verbatim code elements.
Misha Brukman [Wed, 28 Jul 2004 22:09:29 +0000 (22:09 +0000)]
Put <tt> around verbatim code elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15310 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMinor corrections
Chris Lattner [Wed, 28 Jul 2004 20:18:53 +0000 (20:18 +0000)]
Minor corrections

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15309 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTargetInstrInfo::hasOperandInterlock() is always true, because it is
Brian Gaeke [Wed, 28 Jul 2004 19:24:48 +0000 (19:24 +0000)]
TargetInstrInfo::hasOperandInterlock() is always true, because it is
never overridden by any target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15308 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd notes on bug involving casting ulong -> double, thanks to Nate Begeman.
Misha Brukman [Wed, 28 Jul 2004 19:16:10 +0000 (19:16 +0000)]
Add notes on bug involving casting ulong -> double, thanks to Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15307 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoSimplify loading (un)signed constants to registers, patch by Nate Begeman.
Misha Brukman [Wed, 28 Jul 2004 19:13:49 +0000 (19:13 +0000)]
Simplify loading (un)signed constants to registers, patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15306 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove an extra 8 byte distance penalty. Patch by Nate Begeman.
Misha Brukman [Wed, 28 Jul 2004 19:13:07 +0000 (19:13 +0000)]
Remove an extra 8 byte distance penalty.  Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15305 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFind longs by type, not by their primitive size being 64. Patch by Nate Begeman.
Misha Brukman [Wed, 28 Jul 2004 19:12:24 +0000 (19:12 +0000)]
Find longs by type, not by their primitive size being 64. Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15304 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoLI can only take signed values, so values > 32767 can only be loaded with ORI
Misha Brukman [Wed, 28 Jul 2004 00:56:04 +0000 (00:56 +0000)]
LI can only take signed values, so values > 32767 can only be loaded with ORI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15299 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoReorganize tests to place them in proper directories.
Misha Brukman [Wed, 28 Jul 2004 00:55:12 +0000 (00:55 +0000)]
Reorganize tests to place them in proper directories.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15298 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUnitTests 2003-05-26-Shorts and 2003-07-09-LoadShorts have been fixed;
Misha Brukman [Wed, 28 Jul 2004 00:01:41 +0000 (00:01 +0000)]
UnitTests 2003-05-26-Shorts and 2003-07-09-LoadShorts have been fixed;
2003-05-22-VarSizeArray is broken.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15297 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix printing of immediate operands by looking at their operand types in
Misha Brukman [Wed, 28 Jul 2004 00:00:48 +0000 (00:00 +0000)]
Fix printing of immediate operands by looking at their operand types in
the TargetInstrInfo.  This fixes UnitTests 2003-05-26-Shorts and
2003-07-09-LoadShorts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15296 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRenamed files:
Misha Brukman [Tue, 27 Jul 2004 23:29:16 +0000 (23:29 +0000)]
Renamed files:
* PowerPCReg.td => PowerPCRegisterinfo.td
* PowerPCInstrs.td => PowerPCInstrInfo.td

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15295 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConstantTypeMustBeLoaded has been incorporated into SparcV9PreSelection, its
Brian Gaeke [Tue, 27 Jul 2004 21:43:38 +0000 (21:43 +0000)]
ConstantTypeMustBeLoaded has been incorporated into SparcV9PreSelection, its
only user.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15294 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThis was the only user of TargetInstrInfo::ConstantTypeMustBeLoaded().
Brian Gaeke [Tue, 27 Jul 2004 21:11:20 +0000 (21:11 +0000)]
This was the only user of TargetInstrInfo::ConstantTypeMustBeLoaded().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15293 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThis is the regression test for the change to InstructionCombining.cpp
Robert Bocchino [Tue, 27 Jul 2004 21:06:34 +0000 (21:06 +0000)]
This is the regression test for the change to InstructionCombining.cpp
that I made today.  It illustrates that the old version of the code
would crash if the RHS of a multiplication were a ConstantExpr that
could not be resolved into a ConstantInt or ConstantFP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15292 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThis change fixed a bug in the function visitMul. The prior version
Robert Bocchino [Tue, 27 Jul 2004 21:02:21 +0000 (21:02 +0000)]
This change fixed a bug in the function visitMul.  The prior version
assumed that a constant on the RHS of a multiplication was either an
IntConstant or an FPConstant.  It checked for an IntConstant and then,
if it did not find one, did a hard cast to an FPConstant.  That code
would crash if the RHS were a ConstantExpr that was neither an
IntConstant nor an FPConstant.  This version replaces the hard cast
with a dyn_cast.  It performs the same way for IntConstants and
FPConstants but does nothing, instead of crashing, for constant
expressions.

The regression test for this change is 2004-07-27-ConstantExprMul.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15291 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago*** empty log message ***
Robert Bocchino [Tue, 27 Jul 2004 20:50:02 +0000 (20:50 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15290 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoGet rid of the (apparently non-working) filePrinterEmitter which is added in
Brian Gaeke [Tue, 27 Jul 2004 19:37:37 +0000 (19:37 +0000)]
Get rid of the (apparently non-working) filePrinterEmitter which is added in
debug mode.  Its only effect seems to be the creation of an empty file...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15289 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBranch selection support implemented by Nate Begeman for long branches.
Misha Brukman [Tue, 27 Jul 2004 18:43:04 +0000 (18:43 +0000)]
Branch selection support implemented by Nate Begeman for long branches.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15288 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix the nightly tester to default to using gnuplot in /usr/bin
Chris Lattner [Tue, 27 Jul 2004 18:41:49 +0000 (18:41 +0000)]
Fix the nightly tester to default to using gnuplot in /usr/bin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15287 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoCorrectly print out long branches, assert on finding pseudo instr COND_BRANCH
Misha Brukman [Tue, 27 Jul 2004 18:40:39 +0000 (18:40 +0000)]
Correctly print out long branches, assert on finding pseudo instr COND_BRANCH
Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15286 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRun the branch selection pass right before the asm printer.
Misha Brukman [Tue, 27 Jul 2004 18:39:34 +0000 (18:39 +0000)]
Run the branch selection pass right before the asm printer.
Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15285 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove empty unused method processFunctionBeforeFrameFinalized()
Misha Brukman [Tue, 27 Jul 2004 18:38:40 +0000 (18:38 +0000)]
Remove empty unused method processFunctionBeforeFrameFinalized()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15284 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd COND_BRANCH pseudo instruction, patch by Nate Begeman.
Misha Brukman [Tue, 27 Jul 2004 18:35:54 +0000 (18:35 +0000)]
Add COND_BRANCH pseudo instruction, patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15283 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBuild COND_BRANCHes which may become long or short, decided by a later pass.
Misha Brukman [Tue, 27 Jul 2004 18:35:23 +0000 (18:35 +0000)]
Build COND_BRANCHes which may become long or short, decided by a later pass.
Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15282 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMoved definition of invertPPCBranchOpcode() into PowerPCInstrInfo class.
Misha Brukman [Tue, 27 Jul 2004 18:34:11 +0000 (18:34 +0000)]
Moved definition of invertPPCBranchOpcode() into PowerPCInstrInfo class.
Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15281 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd PowerPCBranchSelector to discover which are `long' branches.
Misha Brukman [Tue, 27 Jul 2004 18:33:06 +0000 (18:33 +0000)]
Add PowerPCBranchSelector to discover which are `long' branches.
Contributed by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15280 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTargetInstrInfo::getNOPOpCode() has been replaced by a reference to V9::NOP.
Brian Gaeke [Tue, 27 Jul 2004 17:43:24 +0000 (17:43 +0000)]
TargetInstrInfo::getNOPOpCode() has been replaced by a reference to V9::NOP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15279 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert many of the virtual TargetInstrInfo methods used as helper
Brian Gaeke [Tue, 27 Jul 2004 17:43:23 +0000 (17:43 +0000)]
Convert many of the virtual TargetInstrInfo methods used as helper
functions in SparcV9InstrSelection and SparcV9PreSelection into regular
old global functions.  As it happens, none of them really have anything
to do with TargetInstrInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15278 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAs it happens, none of these TargetInstrInfo methods which are only
Brian Gaeke [Tue, 27 Jul 2004 17:43:22 +0000 (17:43 +0000)]
As it happens, none of these TargetInstrInfo methods which are only
used in the SparcV9 backend really have anything to do with
TargetInstrInfo, so we're converting them into regular old global
functions and moving their declarations to SparcV9InstrSelectionSupport.h.
(They're mostly used as helper functions for SparcV9InstrSelection.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15277 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake the create...() functions for some of these passes return a FunctionPass *.
Brian Gaeke [Tue, 27 Jul 2004 17:43:21 +0000 (17:43 +0000)]
Make the create...() functions for some of these passes return a FunctionPass *.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15276 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFixed saving/restoring LR unconditionally, only done as necessary.
Misha Brukman [Tue, 27 Jul 2004 17:17:48 +0000 (17:17 +0000)]
Fixed saving/restoring LR unconditionally, only done as necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15275 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoSave and restore LR just like any other register and ONLY if we actually modify
Misha Brukman [Tue, 27 Jul 2004 17:17:18 +0000 (17:17 +0000)]
Save and restore LR just like any other register and ONLY if we actually modify
it (due to calls or globals access).  We now compile `void empty(){}' to `blr'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15274 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoLR is a 32-bit int reg
Misha Brukman [Tue, 27 Jul 2004 17:15:32 +0000 (17:15 +0000)]
LR is a 32-bit int reg

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15273 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMovePCtoLR (which is `bl' in disguise) modifies LR implicitly
Misha Brukman [Tue, 27 Jul 2004 17:15:05 +0000 (17:15 +0000)]
MovePCtoLR (which is `bl' in disguise) modifies LR implicitly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15272 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRegister LR is callee-saved
Misha Brukman [Tue, 27 Jul 2004 17:14:34 +0000 (17:14 +0000)]
Register LR is callee-saved

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15271 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd IMPLICIT_DEF of LR for branch-and-link instrs (calls and global accesses)
Misha Brukman [Tue, 27 Jul 2004 17:13:58 +0000 (17:13 +0000)]
Add IMPLICIT_DEF of LR for branch-and-link instrs (calls and global accesses)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15270 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUgh, the upgrade of zion brought in GCC 3.3.2, our arch nemesis.
Chris Lattner [Tue, 27 Jul 2004 08:29:06 +0000 (08:29 +0000)]
Ugh, the upgrade of zion brought in GCC 3.3.2, our arch nemesis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15269 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRun DSE at link-time, and turn on an IP alias analysis by default in gccld!
Chris Lattner [Tue, 27 Jul 2004 08:13:15 +0000 (08:13 +0000)]
Run DSE at link-time, and turn on an IP alias analysis by default in gccld!

The -disable-globalsmodref is temporary and will be removed eventually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15268 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonuke pointless -debug output
Chris Lattner [Tue, 27 Jul 2004 08:03:18 +0000 (08:03 +0000)]
nuke pointless -debug output

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15267 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew functionality
Chris Lattner [Tue, 27 Jul 2004 07:50:07 +0000 (07:50 +0000)]
New functionality

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15266 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDocument new syntax
Chris Lattner [Tue, 27 Jul 2004 07:49:39 +0000 (07:49 +0000)]
Document new syntax

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15265 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix conservative assumption, which was quite broken. Also, notice that
Chris Lattner [Tue, 27 Jul 2004 07:46:26 +0000 (07:46 +0000)]
Fix conservative assumption, which was quite broken.  Also, notice that
functions known to not access memory (like sin/cos) don't access memory! :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15264 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix hoisting of void typed values, e.g. calls
Chris Lattner [Tue, 27 Jul 2004 07:38:32 +0000 (07:38 +0000)]
Fix hoisting of void typed values, e.g. calls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15263 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoalloca void makes no sense
Chris Lattner [Tue, 27 Jul 2004 07:30:02 +0000 (07:30 +0000)]
alloca void makes no sense

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15262 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove a bogus assertion
Chris Lattner [Tue, 27 Jul 2004 07:22:21 +0000 (07:22 +0000)]
Remove a bogus assertion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15261 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoComplete rewrite of this pass to be faster, use less memory, be easier to
Chris Lattner [Tue, 27 Jul 2004 06:40:37 +0000 (06:40 +0000)]
Complete rewrite of this pass to be faster, use less memory, be easier to
understand, and more accurate to boot!  This implements
GlobalModRef/purecse.ll over the previous impl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15260 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase
Chris Lattner [Tue, 27 Jul 2004 06:35:11 +0000 (06:35 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15259 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoHave some testcases
Chris Lattner [Tue, 27 Jul 2004 06:26:08 +0000 (06:26 +0000)]
Have some testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15258 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a note
Chris Lattner [Tue, 27 Jul 2004 04:00:54 +0000 (04:00 +0000)]
Add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15257 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix out of date comment
Chris Lattner [Tue, 27 Jul 2004 03:04:30 +0000 (03:04 +0000)]
Fix out of date comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15256 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoSimplify code and silence warning
Chris Lattner [Tue, 27 Jul 2004 02:34:49 +0000 (02:34 +0000)]
Simplify code and silence warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15255 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse context-sensitive alias analysis to avoid pessimization in clients of
Chris Lattner [Tue, 27 Jul 2004 02:20:26 +0000 (02:20 +0000)]
Use context-sensitive alias analysis to avoid pessimization in clients of
AliasSetTracker (dse and licm).  This implements
DeadStoreElimination/context-sensitive.llx

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15254 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew testcase. DSE should delete all of the DEAD instructions.
Chris Lattner [Tue, 27 Jul 2004 02:19:27 +0000 (02:19 +0000)]
New testcase.  DSE should delete all of the DEAD instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15253 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake basicaa a bit more aggressive
Chris Lattner [Tue, 27 Jul 2004 02:18:52 +0000 (02:18 +0000)]
Make basicaa a bit more aggressive

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15252 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agobasic-aa can actually provide simple mod/ref info
Chris Lattner [Tue, 27 Jul 2004 02:13:55 +0000 (02:13 +0000)]
basic-aa can actually provide simple mod/ref info

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15251 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThis was implemented back in march
Chris Lattner [Tue, 27 Jul 2004 01:59:42 +0000 (01:59 +0000)]
This was implemented back in march

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15250 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImplement test/Regression/TableGen/ListSlices.td
Chris Lattner [Tue, 27 Jul 2004 01:01:21 +0000 (01:01 +0000)]
Implement test/Regression/TableGen/ListSlices.td

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15249 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew testcase for list slicing
Chris Lattner [Tue, 27 Jul 2004 01:00:56 +0000 (01:00 +0000)]
New testcase for list slicing

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15248 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd initial support for list slices. This currently allows you to do stuff
Chris Lattner [Mon, 26 Jul 2004 23:21:34 +0000 (23:21 +0000)]
Add initial support for list slices.  This currently allows you to do stuff
like this:

def B {
  list<int> X = [10, 20, 30, 4, 1, 1231, 20] [2-4,2,2,0-6];
}

... which isn't particularly useful, but more is to come.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15247 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoA utility to run an arbitrary program on each of the LLVM source files.
Reid Spencer [Mon, 26 Jul 2004 22:52:44 +0000 (22:52 +0000)]
A utility to run an arbitrary program on each of the LLVM source files.
This is like llvmgrep but instead of running grep, it runs the command
given by the first argument. For example, to find the top ten files with
the most lines in llvm, you could:

utils/llvmdo wc -l | sort -nb | tail

Or, to find any source files with the wrong permissions, you could:

utils/llvmdo ls -l | grep -v rw-r--r--

Hopefully, you get the idea.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15246 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDo not store the stack pointer if the stack size is 0.
Misha Brukman [Mon, 26 Jul 2004 22:00:26 +0000 (22:00 +0000)]
Do not store the stack pointer if the stack size is 0.
Also, convert C-style comments to C++ and make sure code wraps at 80 cols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15245 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoADDI can take several forms, including:
Misha Brukman [Mon, 26 Jul 2004 21:50:38 +0000 (21:50 +0000)]
ADDI can take several forms, including:

  addi r1, r2, 0
  addi r1, <frame index #n>, 0

so we must check for the second parameter being a register for this instruction
to be considered a reg-to-reg copy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15244 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoassert() on MachineInstr properties instead of checking them dynamically
Misha Brukman [Mon, 26 Jul 2004 21:35:58 +0000 (21:35 +0000)]
assert() on MachineInstr properties instead of checking them dynamically

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15243 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Recognize `addi r1, r2, 0' a move instruction
Misha Brukman [Mon, 26 Jul 2004 21:29:00 +0000 (21:29 +0000)]
* Recognize `addi r1, r2, 0' a move instruction
* List formats of instructions currently recognized as moves

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15242 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove dead section
Chris Lattner [Mon, 26 Jul 2004 21:16:55 +0000 (21:16 +0000)]
Remove dead section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15241 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix indentation: should be 2 spaces.
Misha Brukman [Mon, 26 Jul 2004 18:48:58 +0000 (18:48 +0000)]
Fix indentation: should be 2 spaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15240 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix file header as it has been renamed.
Misha Brukman [Mon, 26 Jul 2004 18:45:48 +0000 (18:45 +0000)]
Fix file header as it has been renamed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15239 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRenamed files to have the `X86' prefix for uniqueness purposes.
Misha Brukman [Mon, 26 Jul 2004 18:43:11 +0000 (18:43 +0000)]
Renamed files to have the `X86' prefix for uniqueness purposes.
All CVS history was renamed, the *,v were copied over.  No worries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15238 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Rewrote casts
Misha Brukman [Mon, 26 Jul 2004 18:13:24 +0000 (18:13 +0000)]
* Rewrote casts
* Implemented GEP folding
* Dynamically output global address stuff once per function
* Fix casting fp<->short/byte

Patch contributed by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15237 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoIncrement the label number in runOnFunction() rather than while printing out
Misha Brukman [Mon, 26 Jul 2004 16:28:33 +0000 (16:28 +0000)]
Increment the label number in runOnFunction() rather than while printing out
some instruction.  Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15236 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMore notes on bugs, unimplemented features, and suggested code improvements.
Misha Brukman [Mon, 26 Jul 2004 16:23:55 +0000 (16:23 +0000)]
More notes on bugs, unimplemented features, and suggested code improvements.
Written by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15235 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix subtracting values > 2^15 in the prologue/epilogue, by Nate Begeman.
Misha Brukman [Mon, 26 Jul 2004 16:22:52 +0000 (16:22 +0000)]
Fix subtracting values > 2^15 in the prologue/epilogue, by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15234 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdded another test case for double FP constants as well.
Reid Spencer [Mon, 26 Jul 2004 15:04:13 +0000 (15:04 +0000)]
Added another test case for double FP constants as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15233 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImplement DeadStoreElim/alloca.llx by observing that allocas are dead at the
Chris Lattner [Mon, 26 Jul 2004 06:14:11 +0000 (06:14 +0000)]
Implement DeadStoreElim/alloca.llx by observing that allocas are dead at the
end of the function (either return or unwind)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15232 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew testcase
Chris Lattner [Mon, 26 Jul 2004 06:11:42 +0000 (06:11 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15231 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd some new methods
Chris Lattner [Mon, 26 Jul 2004 05:50:23 +0000 (05:50 +0000)]
Add some new methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15230 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew methods
Chris Lattner [Mon, 26 Jul 2004 05:50:09 +0000 (05:50 +0000)]
New methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15229 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUpdate test
Chris Lattner [Mon, 26 Jul 2004 05:04:25 +0000 (05:04 +0000)]
Update test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15228 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThrottle back indvar substitution from creating multiplies in loops. This is bad...
Chris Lattner [Mon, 26 Jul 2004 02:47:12 +0000 (02:47 +0000)]
Throttle back indvar substitution from creating multiplies in loops.  This is bad bad bad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15227 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix bug in previous patch :(
Chris Lattner [Mon, 26 Jul 2004 01:40:20 +0000 (01:40 +0000)]
Fix bug in previous patch :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15226 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix an extremely serious regression that was causing LLVM basic blocks to be
Chris Lattner [Mon, 26 Jul 2004 01:22:59 +0000 (01:22 +0000)]
Fix an extremely serious regression that was causing LLVM basic blocks to be
scrambled around almost at random, having really bad effects on icache locality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15225 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix a serious bug in the double constant reader. In particular, because
Chris Lattner [Sun, 25 Jul 2004 23:15:44 +0000 (23:15 +0000)]
Fix a serious bug in the double constant reader.  In particular, because
(At[3] << 24) is an int type and it is being coerced to uint64_t, it was
getting sign extended, causing us to get FFFFFFFFxxxxxxxx constants all of
the time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15224 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTemporarily disable this code, as it is emitting LLVM_NAN("nan") which results in...
Chris Lattner [Sun, 25 Jul 2004 22:36:35 +0000 (22:36 +0000)]
Temporarily disable this code, as it is emitting LLVM_NAN("nan") which results in a call to the
glibc 'nan' function because the initializer is not a string.  This breaks when used in a global
initializer.  Try compiling this testcase for example:

%X = global float <some nan value>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15223 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBugs fixed.
Reid Spencer [Sun, 25 Jul 2004 22:15:33 +0000 (22:15 +0000)]
Bugs fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15222 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAvoid use of size(), which counts, in favor of other mechanisms.
Reid Spencer [Sun, 25 Jul 2004 21:44:54 +0000 (21:44 +0000)]
Avoid use of size(), which counts, in favor of other mechanisms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15221 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAlways write FP values correctly.
Reid Spencer [Sun, 25 Jul 2004 21:36:26 +0000 (21:36 +0000)]
Always write FP values correctly.
Adjust for new Module.h interface for dependent libraries.
Excise unused backwards compatibility flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15220 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDon't create a backwards compatibility flag for something that was a
Reid Spencer [Sun, 25 Jul 2004 21:32:51 +0000 (21:32 +0000)]
Don't create a backwards compatibility flag for something that was a
regression bug introduced in release 1.2

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15219 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdjust to new Module.h interface for dependent libraries.
Reid Spencer [Sun, 25 Jul 2004 21:32:02 +0000 (21:32 +0000)]
Adjust to new Module.h interface for dependent libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15218 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdjust to new Module.h interface for dependent libraries
Reid Spencer [Sun, 25 Jul 2004 21:30:51 +0000 (21:30 +0000)]
Adjust to new Module.h interface for dependent libraries
Remove mem leaks resulting from not freeing parse strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15217 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdjust to new Module.h interface for dependent libraries
Reid Spencer [Sun, 25 Jul 2004 21:29:43 +0000 (21:29 +0000)]
Adjust to new Module.h interface for dependent libraries
Only write the target triple and deplibs if they are non-empty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15216 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoReduce the footprint of the dependent library interface
Reid Spencer [Sun, 25 Jul 2004 21:28:19 +0000 (21:28 +0000)]
Reduce the footprint of the dependent library interface
Document the dependent library interface
Constify the std::string& parameters in the dep lib interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15215 91177308-0d34-0410-b5e6-96231b3b80d8