Misha Brukman
a9c528f0aa
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
2004-07-30 15:51:51 +00:00
Misha Brukman
4ffddc5228
* 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
2004-07-30 15:50:45 +00:00
Misha Brukman
b714fdccdb
Enable compilation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15344 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 14:33:07 +00:00
Misha Brukman
cb6267bc60
Fix De Morgan's name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15343 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 12:50:08 +00:00
Chris Lattner
acd1f0fcb3
Start using the PatternMatcher a bit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15342 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 07:50:03 +00:00
Chris Lattner
524d8f1722
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
2004-07-30 07:45:00 +00:00
Chris Lattner
ff8c1b3dc6
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
2004-07-30 06:59:15 +00:00
Brian Gaeke
365f54c7bc
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
2004-07-29 21:31:20 +00:00
Chris Lattner
8f36321a95
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
2004-07-29 17:31:57 +00:00
Misha Brukman
78c038d0cc
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
2004-07-29 17:30:57 +00:00
Misha Brukman
47b14a4a6a
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
2004-07-29 17:30:56 +00:00
Chris Lattner
879313ae3a
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
2004-07-29 17:23:00 +00:00
Chris Lattner
4ab78e0489
Header moved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15332 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 17:15:38 +00:00
Chris Lattner
9670eecf33
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
2004-07-29 17:11:37 +00:00
Misha Brukman
d8e1eea678
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
2004-07-29 17:05:13 +00:00
Misha Brukman
44336292fc
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
2004-07-29 16:53:53 +00:00
Alkis Evlogimenos
91366a8541
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
2004-07-29 12:33:25 +00:00
Alkis Evlogimenos
eb62bc77b6
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
2004-07-29 12:17:34 +00:00
Chris Lattner
730b1ad2c4
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
2004-07-29 07:56:39 +00:00
Brian Gaeke
246b40ae7a
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
2004-07-29 06:43:10 +00:00
Brian Gaeke
a308f80155
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
2004-07-29 06:43:09 +00:00
Brian Gaeke
db7c40db10
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
2004-07-29 06:43:08 +00:00
Brian Gaeke
fb8f856f14
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
2004-07-29 06:43:06 +00:00
Brian Gaeke
988f5b530a
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
2004-07-29 04:25:43 +00:00
Brian Gaeke
3638e9918c
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 04:22:30 +00:00
Brian Gaeke
fc63adb1b9
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
2004-07-29 04:15:36 +00:00
Chris Lattner
acb7444b05
Move Transforms/BasicAA to Analysis/BasicAA
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15316 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 01:34:10 +00:00
Chris Lattner
08f998f08d
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
2004-07-29 01:33:05 +00:00
Reid Spencer
9bd2be2dcd
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
2004-07-29 00:13:04 +00:00
Misha Brukman
69c5889d60
Fix grammar, eliminate double parenthesized sentence fragment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15313 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-28 22:37:57 +00:00
Misha Brukman
a8c760a770
* 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
2004-07-28 22:31:54 +00:00
Misha Brukman
294611a6e4
* 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
2004-07-28 22:18:33 +00:00
Misha Brukman
08772dae1e
Put <tt> around verbatim code elements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15310 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-28 22:09:29 +00:00
Chris Lattner
83660c5aed
Minor corrections
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15309 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-28 20:18:53 +00:00
Brian Gaeke
b2f30a3792
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
2004-07-28 19:24:48 +00:00
Misha Brukman
8b88d906a2
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
2004-07-28 19:16:10 +00:00
Misha Brukman
a0af38c46a
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
2004-07-28 19:13:49 +00:00
Misha Brukman
b7697a6dd2
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
2004-07-28 19:13:07 +00:00
Misha Brukman
f63bc199c6
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
2004-07-28 19:12:24 +00:00
Misha Brukman
8b29776d68
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
2004-07-28 00:56:04 +00:00
Misha Brukman
b9b8ba58e7
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
2004-07-28 00:55:12 +00:00
Misha Brukman
56d38c6ca1
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
2004-07-28 00:01:41 +00:00
Misha Brukman
af313fb188
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
2004-07-28 00:00:48 +00:00
Misha Brukman
8c02c1cbb8
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
2004-07-27 23:29:16 +00:00
Brian Gaeke
de0ceb58ba
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
2004-07-27 21:43:38 +00:00
Brian Gaeke
a770e0041b
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
2004-07-27 21:11:20 +00:00
Robert Bocchino
a2601e3e55
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
2004-07-27 21:06:34 +00:00
Robert Bocchino
71698285e8
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
2004-07-27 21:02:21 +00:00
Robert Bocchino
2311d717f8
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15290 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 20:50:02 +00:00
Brian Gaeke
eb6c29bbfd
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
2004-07-27 19:37:37 +00:00