Tanya Lattner [Fri, 30 Jul 2004 23:36:10 +0000 (23:36 +0000)]
Updated ModuloScheduling. It makes it all the wya through register allocation on the new code!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15351
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 30 Jul 2004 15:53:09 +0000 (15:53 +0000)]
* Conditional save/restore of LR disabled as it's not quite correct
* sumarray2d fixed: large fixed-size alloca
* make is now compileable
* Re-organized tests to fit them under proper headings
Patch by Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15347
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 30 Jul 2004 15:51:51 +0000 (15:51 +0000)]
Do not mark LR as callee-save: not quite correctly done. Patch: Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15346
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 30 Jul 2004 15:50:45 +0000 (15:50 +0000)]
* Temporarily suspend LR save/restore optimization as it is not quite correct
* Implement large fixed-size allocas Entire patch by Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15345
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 30 Jul 2004 14:33:07 +0000 (14:33 +0000)]
Enable compilation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15344
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 30 Jul 2004 12:50:08 +0000 (12:50 +0000)]
Fix De Morgan's name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Jul 2004 07:50:03 +0000 (07:50 +0000)]
Start using the PatternMatcher a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Jul 2004 07:45:00 +0000 (07:45 +0000)]
Check in some useful helper routines for doing ML-style pattern matching on
the LLVM IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Jul 2004 06:59:15 +0000 (06:59 +0000)]
I demand the ability to say 'if (isa<Value>(V))'!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15340
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 29 Jul 2004 21:31:20 +0000 (21:31 +0000)]
Convert a few assertions with side-effects into regular old runtime checks.
These side-effects seem to make a difference when using llc -march=sparcv9
in Release mode (i.e., with -DNDEBUG); when they are left out, lots of
instructions just get dropped on the floor, because they never end up
in the schedule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Jul 2004 17:31:57 +0000 (17:31 +0000)]
Fix #includes of i*.h => Instructions.h as per PR403:
http://llvm.cs.uiuc.edu/PR403 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15338
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 29 Jul 2004 17:30:57 +0000 (17:30 +0000)]
Fix #includes of i*.h => Instructions.h as per PR403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15337
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 29 Jul 2004 17:30:56 +0000 (17:30 +0000)]
Fix #includes of i*.h => Instructions.h as per PR403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Jul 2004 17:23:00 +0000 (17:23 +0000)]
Fix #includes of i*.h => Instructions.h as per PR403:
http://llvm.cs.uiuc.edu/PR403 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Jul 2004 17:15:38 +0000 (17:15 +0000)]
Header moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Jul 2004 17:11:37 +0000 (17:11 +0000)]
Fix #includes of i*.h => Instructions.h as per PR403:
http://llvm.cs.uiuc.edu/PR403 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15331
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 29 Jul 2004 17:05:13 +0000 (17:05 +0000)]
Fix #includes of i*.h => Instructions.h as per PR403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15328
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 29 Jul 2004 16:53:53 +0000 (16:53 +0000)]
Fix #includes of i*.h files => Instructions.h as per PR403
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15327
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 29 Jul 2004 12:33:25 +0000 (12:33 +0000)]
Merge i*.cpp definitions into Instructions.cpp as part of bug403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15326
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 29 Jul 2004 12:17:34 +0000 (12:17 +0000)]
Merge i*.h headers into Instructions.h as part of bug403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Jul 2004 07:56:39 +0000 (07:56 +0000)]
Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx
This also fixes the miscompilation of MallocBench/gs with dead store
elimination enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15324
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 29 Jul 2004 06:43:10 +0000 (06:43 +0000)]
Get rid of a few dead method declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15323
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 29 Jul 2004 06:43:09 +0000 (06:43 +0000)]
Get rid of calls to void llvm::printSet(const ValueSet &).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15322
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 29 Jul 2004 06:43:08 +0000 (06:43 +0000)]
Get rid of calls to void llvm::printSet(const ValueSet &).
Use LiveRange's iterator types and operations instead of ValueSet's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15321
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 29 Jul 2004 06:43:06 +0000 (06:43 +0000)]
Don't derive from ValueSet to implement class LiveRange; instead, use a
SetVector<Value *> data member.
Add << operator for LiveRanges (a dumb one, for now.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15320
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 29 Jul 2004 04:25:43 +0000 (04:25 +0000)]
Fix a few typoes and grammaroes in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15319
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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