oota-llvm.git
20 years agoFix PR194
Chris Lattner [Mon, 22 Dec 2003 03:58:44 +0000 (03:58 +0000)]
Fix PR194

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

20 years agoReally release memory used by functions. Patch by Chris.
Misha Brukman [Mon, 22 Dec 2003 03:47:58 +0000 (03:47 +0000)]
Really release memory used by functions. Patch by Chris.

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

20 years agoFix the URL to check the referrer for CSS conformity.
Misha Brukman [Sun, 21 Dec 2003 22:53:21 +0000 (22:53 +0000)]
Fix the URL to check the referrer for CSS conformity.

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

20 years agoRemove verifyIntervals() since it doesn't actually work right now.
Alkis Evlogimenos [Sun, 21 Dec 2003 20:41:26 +0000 (20:41 +0000)]
Remove verifyIntervals() since it doesn't actually work right now.

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

20 years agoChange weight into a float so that we can take into account the
Alkis Evlogimenos [Sun, 21 Dec 2003 20:19:10 +0000 (20:19 +0000)]
Change weight into a float so that we can take into account the
nesting level when computing it. Right now the allocator uses:

    w = sum_over_defs_uses( 10 ^ nesting level );

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

20 years agoNew testcase for PR194
Chris Lattner [Sun, 21 Dec 2003 19:06:15 +0000 (19:06 +0000)]
New testcase for PR194

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

20 years agoMove FP_REG_KILL closer to the return instruction.
Alkis Evlogimenos [Sun, 21 Dec 2003 16:47:43 +0000 (16:47 +0000)]
Move FP_REG_KILL closer to the return instruction.

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

20 years agoAdd support for inactive intervals. This effectively reuses registers
Alkis Evlogimenos [Sun, 21 Dec 2003 05:43:40 +0000 (05:43 +0000)]
Add support for inactive intervals. This effectively reuses registers
for live ranges that fall into assigned registers' holes.

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

20 years agoFix PR#193.
John Criswell [Sat, 20 Dec 2003 22:37:29 +0000 (22:37 +0000)]
Fix PR#193.

Modified ReadArchiveBuffer() so that it dynamically allocates the
std::string object used to hold the bytecode object file's name.  This is
necessary because it is passed by reference to the new Module that is
allocated to represent the bytecode object, and previously we were
using a std::string that disappeared on function exit.

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

20 years agoFix help string for --enable-spec2000 option
Alkis Evlogimenos [Sat, 20 Dec 2003 21:35:15 +0000 (21:35 +0000)]
Fix help string for --enable-spec2000 option

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

20 years agoMove FP_REG_KILL closer to the actual branch instruction.
Alkis Evlogimenos [Sat, 20 Dec 2003 17:28:15 +0000 (17:28 +0000)]
Move FP_REG_KILL closer to the actual branch instruction.

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

20 years agoRemove floating point killer pass. This is now implemented in the
Alkis Evlogimenos [Sat, 20 Dec 2003 16:22:59 +0000 (16:22 +0000)]
Remove floating point killer pass. This is now implemented in the
instruction selector by adding a new pseudo-instruction
FP_REG_KILL. This instruction implicitly defines all x86 fp registers
and is a terminator so that passes which add machine code at the end
of basic blocks (like phi elimination) do not add instructions between
it and the branch or return instruction.

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

20 years agoAnother day, another bug
Chris Lattner [Sat, 20 Dec 2003 10:29:02 +0000 (10:29 +0000)]
Another day, another bug

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

20 years agoAdd a new target-independent machine code freeing pass
Chris Lattner [Sat, 20 Dec 2003 10:20:58 +0000 (10:20 +0000)]
Add a new target-independent machine code freeing pass

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

20 years agoFinally, _actually delete the machine code_ for a function, after it has
Chris Lattner [Sat, 20 Dec 2003 10:20:19 +0000 (10:20 +0000)]
Finally, _actually delete the machine code_ for a function, after it has
been emitted.  Also, since the FPK pass is causing memory access violations,
disable it.

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

20 years agoThis should not be needed anymore
Chris Lattner [Sat, 20 Dec 2003 10:19:18 +0000 (10:19 +0000)]
This should not be needed anymore

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

20 years agoRearrange code, indent for the namespace, add the createMachineFunctionPrinterPass
Chris Lattner [Sat, 20 Dec 2003 10:18:58 +0000 (10:18 +0000)]
Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass
to passes.h, and add the machien destruction pass to Passes.h

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

20 years agoFix memory leak in the stackifier, due to the machinebasicblocks not holding
Chris Lattner [Sat, 20 Dec 2003 10:12:17 +0000 (10:12 +0000)]
Fix memory leak in the stackifier, due to the machinebasicblocks not holding
instructions on an ilist

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

20 years agoFinegrainify namespacification
Chris Lattner [Sat, 20 Dec 2003 09:58:55 +0000 (09:58 +0000)]
Finegrainify namespacification
Minor cleanups to killer pass

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

20 years agoHoist some sparc specific code into the sparc target
Chris Lattner [Sat, 20 Dec 2003 09:17:40 +0000 (09:17 +0000)]
Hoist some sparc specific code into the sparc target

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

20 years ago* Finegrainify namespacification
Chris Lattner [Sat, 20 Dec 2003 09:17:07 +0000 (09:17 +0000)]
* Finegrainify namespacification
* Move sparc specific code out of generic code
* Eliminate the getOffset() method which made INVALID_FRAME_OFFSET
  necessary, which made pulling in MAX_INT as a sentinal necessary.

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

20 years agoRemove sparc specific passes from public headers
Chris Lattner [Sat, 20 Dec 2003 09:15:21 +0000 (09:15 +0000)]
Remove sparc specific passes from public headers

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

20 years agoRemove a horrible API
Chris Lattner [Sat, 20 Dec 2003 09:15:01 +0000 (09:15 +0000)]
Remove a horrible API

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

20 years agoPR135 is now finally fixed
Chris Lattner [Sat, 20 Dec 2003 03:42:11 +0000 (03:42 +0000)]
PR135 is now finally fixed

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

20 years agoImplement PR135, lazy emission of global variables
Chris Lattner [Sat, 20 Dec 2003 03:36:47 +0000 (03:36 +0000)]
Implement PR135, lazy emission of global variables

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

20 years agoCleanups to implement PR135
Chris Lattner [Sat, 20 Dec 2003 03:35:50 +0000 (03:35 +0000)]
Cleanups to implement PR135

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

20 years agoSimple refactorings to prepare for lazy global emission
Chris Lattner [Sat, 20 Dec 2003 02:45:37 +0000 (02:45 +0000)]
Simple refactorings to prepare for lazy global emission
Also, add a stat for the number of globals emitted

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

20 years agoSimple refactorings to prepare for lazy global emission
Chris Lattner [Sat, 20 Dec 2003 02:45:16 +0000 (02:45 +0000)]
Simple refactorings to prepare for lazy global emission

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

20 years agoA minor cleanup for better encapsulation
Chris Lattner [Sat, 20 Dec 2003 02:03:14 +0000 (02:03 +0000)]
A minor cleanup for better encapsulation

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

20 years agoCleanup the JIT as per PR176. This renames the VM class to JIT, and merges the
Chris Lattner [Sat, 20 Dec 2003 01:46:27 +0000 (01:46 +0000)]
Cleanup the JIT as per PR176.  This renames the VM class to JIT, and merges the
VM.cpp and JIT.cpp files into JIT.cpp.  This also splits some nasty code out
into TargetSelect.cpp so that people hopefully won't notice it.  :)

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

20 years agoUpdate for changes in the JIT
Chris Lattner [Sat, 20 Dec 2003 01:45:17 +0000 (01:45 +0000)]
Update for changes in the JIT

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

20 years agoRip JIT specific stuff out of TargetMachine, as per PR176
Chris Lattner [Sat, 20 Dec 2003 01:22:19 +0000 (01:22 +0000)]
Rip JIT specific stuff out of TargetMachine, as per PR176

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

20 years agoEliminate a spurious warning
Chris Lattner [Fri, 19 Dec 2003 19:48:43 +0000 (19:48 +0000)]
Eliminate a spurious warning

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

20 years agoFix ADCE/2003-12-19-MergeReturn.llx
Chris Lattner [Fri, 19 Dec 2003 09:08:34 +0000 (09:08 +0000)]
Fix ADCE/2003-12-19-MergeReturn.llx

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

20 years agoNew testcase for missed optimization
Chris Lattner [Fri, 19 Dec 2003 09:08:15 +0000 (09:08 +0000)]
New testcase for missed optimization

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

20 years agoExpand on the AliasSetTracker a bit, so I can remember this next time I come back...
Chris Lattner [Fri, 19 Dec 2003 08:43:07 +0000 (08:43 +0000)]
Expand on the AliasSetTracker a bit, so I can remember this next time I come back to it.  :)

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

20 years agoRemove the wierd "Operands" loop, by traversing basicblocks in reverse order
Chris Lattner [Fri, 19 Dec 2003 08:18:16 +0000 (08:18 +0000)]
Remove the wierd "Operands" loop, by traversing basicblocks in reverse order

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

20 years agoAdd support for people calling main recursively
Chris Lattner [Fri, 19 Dec 2003 07:51:46 +0000 (07:51 +0000)]
Add support for people calling main recursively

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

20 years agoImplement LICM/sink_multiple.ll, by sinking all possible instructions in the
Chris Lattner [Fri, 19 Dec 2003 07:22:45 +0000 (07:22 +0000)]
Implement LICM/sink_multiple.ll, by sinking all possible instructions in the
loop before hoisting any.

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

20 years agoNew testcase
Chris Lattner [Fri, 19 Dec 2003 06:54:37 +0000 (06:54 +0000)]
New testcase

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

20 years agoTurn QOI section into CQ section (QUI can be added later if needed)
Chris Lattner [Fri, 19 Dec 2003 06:31:56 +0000 (06:31 +0000)]
Turn QOI section into CQ section (QUI can be added later if needed)
Add PR187

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

20 years agoGeneralize a special case to fix PR187
Chris Lattner [Fri, 19 Dec 2003 06:27:08 +0000 (06:27 +0000)]
Generalize a special case to fix PR187

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

20 years agoFactor code out into the Utils library
Chris Lattner [Fri, 19 Dec 2003 05:58:40 +0000 (05:58 +0000)]
Factor code out into the Utils library

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

20 years agoAdd new function
Chris Lattner [Fri, 19 Dec 2003 05:56:28 +0000 (05:56 +0000)]
Add new function

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

20 years agoIf -enable-linscan is specified, add ENABLE_LINEARSCAN=1 to the make commandline
Chris Lattner [Fri, 19 Dec 2003 03:47:31 +0000 (03:47 +0000)]
If -enable-linscan is specified, add ENABLE_LINEARSCAN=1 to the make commandline

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

20 years agoUpdate template
Chris Lattner [Fri, 19 Dec 2003 03:34:46 +0000 (03:34 +0000)]
Update template

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

20 years agoRemove TwoAddressInstruction from the public headers and add an ID
Alkis Evlogimenos [Thu, 18 Dec 2003 22:40:24 +0000 (22:40 +0000)]
Remove TwoAddressInstruction from the public headers and add an ID
instead, since this pass doesn't expose any state to its users.

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

20 years agoAdd install target for libraries.
Brian Gaeke [Thu, 18 Dec 2003 20:57:48 +0000 (20:57 +0000)]
Add install target for libraries.

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

20 years agoPrune some #includes
Chris Lattner [Thu, 18 Dec 2003 20:25:31 +0000 (20:25 +0000)]
Prune some #includes
Add a statistic for # reloads

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

20 years agoReverted back to previous revision - this was previously merged
John Criswell [Thu, 18 Dec 2003 17:19:19 +0000 (17:19 +0000)]
Reverted back to previous revision - this was previously merged
according to the CVS log messages.

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

20 years agoMerged in RELEASE_11.
John Criswell [Thu, 18 Dec 2003 16:43:17 +0000 (16:43 +0000)]
Merged in RELEASE_11.

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

20 years agoModify linear scan register allocator to use the two-address
Alkis Evlogimenos [Thu, 18 Dec 2003 13:15:02 +0000 (13:15 +0000)]
Modify linear scan register allocator to use the two-address
instruction pass. This also fixes all remaining bugs for this new
allocator to pass all tests under test/Programs.

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

20 years agoFix bug in reserved registers. DH actually aliases DX and EDX which
Alkis Evlogimenos [Thu, 18 Dec 2003 13:12:18 +0000 (13:12 +0000)]
Fix bug in reserved registers. DH actually aliases DX and EDX which
are not reserved registers.

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

20 years agoModify local register allocator to use the two-address instruction pass.
Alkis Evlogimenos [Thu, 18 Dec 2003 13:08:52 +0000 (13:08 +0000)]
Modify local register allocator to use the two-address instruction pass.

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

20 years agoAdd TwoAddressInstructionPass to handle instructions that have two or
Alkis Evlogimenos [Thu, 18 Dec 2003 13:06:04 +0000 (13:06 +0000)]
Add TwoAddressInstructionPass to handle instructions that have two or
more operands and the two first operands are constrained to be the
same. The pass takes an instruction of the form:

        a = b op c

and transforms it into:

        a = b
        a = a op c

and also preserves live variables.

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

20 years agoRename LiveIntervals::expired() to LiveIntervals::expiredAt().
Alkis Evlogimenos [Thu, 18 Dec 2003 08:56:11 +0000 (08:56 +0000)]
Rename LiveIntervals::expired() to LiveIntervals::expiredAt().

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

20 years agoWhen a variable is killed and redifined in a basic block only one
Alkis Evlogimenos [Thu, 18 Dec 2003 08:53:43 +0000 (08:53 +0000)]
When a variable is killed and redifined in a basic block only one
killing instruction is tracked. This causes the LiveIntervals to
create bogus intervals. The workaound is to add a range to the
interval from the redefinition to the end of the basic block.

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

20 years agoHandle multiple virtual register definitions gracefully.
Alkis Evlogimenos [Thu, 18 Dec 2003 08:48:48 +0000 (08:48 +0000)]
Handle multiple virtual register definitions gracefully.

Move some of the longer LiveIntervals::Interval method out of the
header and add debug information to them. Fix bug and simplify range
merging code.

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

20 years agoadd boog
Chris Lattner [Thu, 18 Dec 2003 08:16:25 +0000 (08:16 +0000)]
add boog

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

20 years agoWhen we delete instructions from the loop, make sure to remove them from the
Chris Lattner [Thu, 18 Dec 2003 08:12:32 +0000 (08:12 +0000)]
When we delete instructions from the loop, make sure to remove them from the
AliasSetTracker as well.

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

20 years agoAdd a new AliassetTracker::remove method. Because we need to be able to remove
Chris Lattner [Thu, 18 Dec 2003 08:11:56 +0000 (08:11 +0000)]
Add a new AliassetTracker::remove method.  Because we need to be able to remove
a pointer from an AliasSet, maintain the pointer values on a doubly linked
list instead of a singly linked list, to permit efficient removal from the
middle of the list.

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

20 years agoCheck in patch that Reid submitted
Chris Lattner [Thu, 18 Dec 2003 06:40:22 +0000 (06:40 +0000)]
Check in patch that Reid submitted

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

20 years agoFix the links to match our 'llvm' namespace in doxygen-generated docs.
Misha Brukman [Wed, 17 Dec 2003 23:10:49 +0000 (23:10 +0000)]
Fix the links to match our 'llvm' namespace in doxygen-generated docs.

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

20 years ago* Converted C-style comments to C++
Misha Brukman [Wed, 17 Dec 2003 22:08:20 +0000 (22:08 +0000)]
* Converted C-style comments to C++
* Doxygenified comments
* Reordered #includes

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

20 years agoReordered #includes.
Misha Brukman [Wed, 17 Dec 2003 22:06:28 +0000 (22:06 +0000)]
Reordered #includes.

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

20 years agoDoxygenified some comments, reduced extraneous space.
Misha Brukman [Wed, 17 Dec 2003 22:06:08 +0000 (22:06 +0000)]
Doxygenified some comments, reduced extraneous space.

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

20 years agoReorganized the Sparc backend to be more modular -- each different
Misha Brukman [Wed, 17 Dec 2003 22:04:00 +0000 (22:04 +0000)]
Reorganized the Sparc backend to be more modular -- each different
implementation of a Target{RegInfo, InstrInfo, Machine, etc} now has a separate
header and a separate implementation file.

This means that instead of a massive SparcInternals.h that forces a
recompilation of the whole target whenever a minor detail is changed, you should
only recompile a few files.

Note that SparcInternals.h is still around; its contents should be minimized.

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

20 years agoSince we are now in the 'llvm' namespace, the mangled C++ name of structs
Misha Brukman [Wed, 17 Dec 2003 18:46:49 +0000 (18:46 +0000)]
Since we are now in the 'llvm' namespace, the mangled C++ name of structs
and hence the links, all change.

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

20 years agoAdded Stacker to Reid Spencer's list of contributions.
John Criswell [Wed, 17 Dec 2003 18:15:04 +0000 (18:15 +0000)]
Added Stacker to Reid Spencer's list of contributions.

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

20 years agoMake getObjectType() smarter about ranlibbed Mac OS X archives.
Brian Gaeke [Wed, 17 Dec 2003 00:18:18 +0000 (00:18 +0000)]
Make getObjectType() smarter about ranlibbed Mac OS X archives.

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

20 years agoDisable __attribute__((weak)) on Mac OS X and other lame platforms.
Misha Brukman [Tue, 16 Dec 2003 22:57:30 +0000 (22:57 +0000)]
Disable __attribute__((weak)) on Mac OS X and other lame platforms.

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

20 years agoAdd a faq entry for the demo page
Chris Lattner [Tue, 16 Dec 2003 22:33:55 +0000 (22:33 +0000)]
Add a faq entry for the demo page

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

20 years agoFix typo in comment.
Brian Gaeke [Tue, 16 Dec 2003 21:55:45 +0000 (21:55 +0000)]
Fix typo in comment.

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

20 years agoThere is no reason to add -load support to LLC
Chris Lattner [Mon, 15 Dec 2003 23:10:25 +0000 (23:10 +0000)]
There is no reason to add -load support to LLC

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

20 years agoAdded info about PR186: weak linkage on memory functions.
Misha Brukman [Mon, 15 Dec 2003 22:48:12 +0000 (22:48 +0000)]
Added info about PR186: weak linkage on memory functions.

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

20 years agoMake all memory functions have weak linkage so that they can be overridden with
Misha Brukman [Mon, 15 Dec 2003 22:32:50 +0000 (22:32 +0000)]
Make all memory functions have weak linkage so that they can be overridden with
custom memory-management implementations (e.g., bash).

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

20 years agoFix for PR185 & IndVarsSimplify/2003-12-15-Crash.llx
Chris Lattner [Mon, 15 Dec 2003 17:34:02 +0000 (17:34 +0000)]
Fix for PR185 & IndVarsSimplify/2003-12-15-Crash.llx

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

20 years agoNew testcase, for PR185
Chris Lattner [Mon, 15 Dec 2003 17:33:41 +0000 (17:33 +0000)]
New testcase, for PR185

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

20 years agoThis header is dead
Chris Lattner [Mon, 15 Dec 2003 06:39:18 +0000 (06:39 +0000)]
This header is dead

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

20 years agoChange preserve all claim to just preserve live variables and phielimination.
Alkis Evlogimenos [Mon, 15 Dec 2003 04:55:38 +0000 (04:55 +0000)]
Change preserve all claim to just preserve live variables and phielimination.

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

20 years agoNew testcase
Chris Lattner [Mon, 15 Dec 2003 00:03:53 +0000 (00:03 +0000)]
New testcase

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

20 years agoRefactor code just a little bit, allowing us to implement TailCallElim/return_constant.ll
Chris Lattner [Sun, 14 Dec 2003 23:57:39 +0000 (23:57 +0000)]
Refactor code just a little bit, allowing us to implement TailCallElim/return_constant.ll

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

20 years agonew test
Chris Lattner [Sun, 14 Dec 2003 23:39:34 +0000 (23:39 +0000)]
new test

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

20 years agoFinegrainify namespacification
Chris Lattner [Sun, 14 Dec 2003 23:25:48 +0000 (23:25 +0000)]
Finegrainify namespacification

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

20 years agoFinegrainify namespacification
Chris Lattner [Sun, 14 Dec 2003 21:35:53 +0000 (21:35 +0000)]
Finegrainify namespacification

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

20 years agoFinegrainify namespacification
Chris Lattner [Sun, 14 Dec 2003 21:27:33 +0000 (21:27 +0000)]
Finegrainify namespacification
Make the Timer code give correct user/system/user+system times when -track-memory is enabled

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

20 years agoI wonder how this didn't cause any tests to fail...
Alkis Evlogimenos [Sun, 14 Dec 2003 13:30:19 +0000 (13:30 +0000)]
I wonder how this didn't cause any tests to fail...

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

20 years agoChange interface of MachineOperand as follows:
Alkis Evlogimenos [Sun, 14 Dec 2003 13:24:17 +0000 (13:24 +0000)]
Change interface of MachineOperand as follows:

    a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
    b) add isUse(), isDef()
    c) rename opHiBits32() to isHiBits32(),
              opLoBits32() to isLoBits32(),
              opHiBits64() to isHiBits64(),
              opLoBits64() to isLoBits64().

This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.

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

20 years agoChange preserve all claim to just preserve live variables and phielimination.
Alkis Evlogimenos [Sun, 14 Dec 2003 10:14:23 +0000 (10:14 +0000)]
Change preserve all claim to just preserve live variables and phielimination.

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

20 years agoRev the release notes to 1.2
Chris Lattner [Sun, 14 Dec 2003 05:03:43 +0000 (05:03 +0000)]
Rev the release notes to 1.2

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

20 years agoDo not promote volatile alias sets into registers
Chris Lattner [Sun, 14 Dec 2003 04:52:31 +0000 (04:52 +0000)]
Do not promote volatile alias sets into registers

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

20 years agoFinegrainify namespacification
Chris Lattner [Sun, 14 Dec 2003 04:52:11 +0000 (04:52 +0000)]
Finegrainify namespacification
Add capability to represent volatile AliasSet's
Propagate this information from loads&stores into the aliassets

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

20 years agoAdd capability to represent volatile AliasSet's
Chris Lattner [Sun, 14 Dec 2003 04:51:34 +0000 (04:51 +0000)]
Add capability to represent volatile AliasSet's

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

20 years agoTestcase for PR179
Chris Lattner [Sun, 14 Dec 2003 04:46:07 +0000 (04:46 +0000)]
Testcase for PR179

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

20 years agoWhen reserving a preallocated register spill the aliases of this
Alkis Evlogimenos [Sat, 13 Dec 2003 11:58:10 +0000 (11:58 +0000)]
When reserving a preallocated register spill the aliases of this
register too.

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

20 years agoIgnore non-allocatable physical registers in live interval analysis.
Alkis Evlogimenos [Sat, 13 Dec 2003 11:11:02 +0000 (11:11 +0000)]
Ignore non-allocatable physical registers in live interval analysis.

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

20 years agoExpire any active intervals left when register allocation is done.
Alkis Evlogimenos [Sat, 13 Dec 2003 05:50:19 +0000 (05:50 +0000)]
Expire any active intervals left when register allocation is done.

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

20 years agoAdd instruction numbers to debugging output.
Alkis Evlogimenos [Sat, 13 Dec 2003 05:48:57 +0000 (05:48 +0000)]
Add instruction numbers to debugging output.

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

20 years agoAdd a floating point killer pass. This pass runs before register
Alkis Evlogimenos [Sat, 13 Dec 2003 05:36:22 +0000 (05:36 +0000)]
Add a floating point killer pass. This pass runs before register
allocaton on the X86 to add information to the machine code denoting
that our floating point stackifier cannot handle virtual point
register that are alive across basic blocks. This pass adds an
implicit def of all virtual floating point register at the end of each
basic block.

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

20 years agoHandle explicit physical register defs.
Alkis Evlogimenos [Sat, 13 Dec 2003 05:26:39 +0000 (05:26 +0000)]
Handle explicit physical register defs.

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