Commit Graph
9516 Commits
Author SHA1 Message Date
Misha Brukman 97f9cf2de2 * 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
2003-12-17 22:08:20 +00:00
Misha Brukman 3d0ad411a5 Reordered #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10502 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17 22:06:28 +00:00
Misha Brukman c3402cd735 Doxygenified some comments, reduced extraneous space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10501 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17 22:06:08 +00:00
Misha Brukman d71295a684 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
2003-12-17 22:04:00 +00:00
Misha Brukman 3e7ada642a 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
2003-12-17 18:46:49 +00:00
John Criswell 7d2779c3b7 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
2003-12-17 18:15:04 +00:00
Brian Gaeke 6ca5b8f5f4 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
2003-12-17 00:18:18 +00:00
Misha Brukman b49fa616d4 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
2003-12-16 22:57:30 +00:00
Chris Lattner a28e3cea1c 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
2003-12-16 22:33:55 +00:00
Brian Gaeke 0f7d2e8b8d Fix typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10487 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-16 21:55:45 +00:00
Chris Lattner ef1b62b00a 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
2003-12-15 23:10:25 +00:00
Misha Brukman ad64385129 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
2003-12-15 22:48:12 +00:00
Misha Brukman a5df0cdbe2 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
2003-12-15 22:32:50 +00:00
Chris Lattner 9e45d2e0e8 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
2003-12-15 17:34:02 +00:00
Chris Lattner 215da0c040 New testcase, for PR185
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-15 17:33:41 +00:00
Chris Lattner cfde00b3d7 This header is dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10470 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-15 06:39:18 +00:00
Alkis Evlogimenos f6f91bf668 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
2003-12-15 04:55:38 +00:00
Chris Lattner d598561318 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-15 00:03:53 +00:00
Chris Lattner d64152a708 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
2003-12-14 23:57:39 +00:00
Chris Lattner 2040d6ecbd new test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10466 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 23:39:34 +00:00
Chris Lattner f7a743d7ed Finegrainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 23:25:48 +00:00
Chris Lattner 2cdd21c2e4 Finegrainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 21:35:53 +00:00
Chris Lattner b6d465f813 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
2003-12-14 21:27:33 +00:00
Alkis Evlogimenos 721b4e5715 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
2003-12-14 13:30:19 +00:00
Alkis Evlogimenos 4d7af65903 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
2003-12-14 13:24:17 +00:00
Alkis Evlogimenos 97323a47d8 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
2003-12-14 10:14:23 +00:00
Chris Lattner b40efb3394 Rev the release notes to 1.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10459 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 05:03:43 +00:00
Chris Lattner 00ad4a2d17 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
2003-12-14 04:52:31 +00:00
Chris Lattner e26092456a 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
2003-12-14 04:52:11 +00:00
Chris Lattner bb8f4769a2 Add capability to represent volatile AliasSet's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 04:51:34 +00:00
Chris Lattner 15beaf7d65 Testcase for PR179
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10455 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 04:46:07 +00:00
Alkis Evlogimenos 94743e4915 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
2003-12-13 11:58:10 +00:00
Alkis Evlogimenos 4c214d2bf0 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
2003-12-13 11:11:02 +00:00
Alkis Evlogimenos 7d65a12fe6 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
2003-12-13 05:50:19 +00:00
Alkis Evlogimenos f6e610c27d Add instruction numbers to debugging output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10447 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 05:48:57 +00:00
Alkis Evlogimenos 359b65f782 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
2003-12-13 05:36:22 +00:00
Alkis Evlogimenos 9435eda699 Handle explicit physical register defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10445 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 05:26:39 +00:00
Alkis Evlogimenos efe995a406 Remove unecessary if statements when looping on ImplicitDefs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10444 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 01:20:58 +00:00
Chris Lattner 1124e2caef Try rewording stuff talking about unwinding. Hopefully it will make llvm sound less bad, and still make John happy. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10439 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 21:33:08 +00:00
Chris Lattner 5eccca4f20 Link to lists, incorporate feedback from Tanya
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10438 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 21:22:16 +00:00
John Criswell 2f2741bfa8 Updated configure script so that it does not configure llvm/project
directories that do not contain a configure script.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10437 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 20:15:23 +00:00
John Criswell 9493c97829 Don't configure directories that don't have a configure script (i.e Stacker).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10436 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 20:09:33 +00:00
John Criswell 52b62de100 Modified cast so that it converts the int to a long before casting to
a pointer.  This evades a warning emitted by GCC when we cast from
unsigned int (32 bit) to void * (64 bit) on SparcV9.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10435 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 19:57:48 +00:00
John Criswell bb1bad58d4 Fixed some minor typos.
Moved the new gccld feature to be in the list of enhancements.
Re-worded information on SPEC 2000 and Sparc support to try to make them
more accurate and precise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10434 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 19:54:20 +00:00
Brian Gaeke 6c9d582738 Dynamically get the right-sized member of a GenericValue to hold a size_t, and
use it to return the result of strlen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 15:38:06 +00:00
Chris Lattner 8b644f9073 PR177 is no longer among the open
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:26:25 +00:00
Chris Lattner 993bdcec00 Implement the ExecutionEngine::getPointerToFunctionOrStub by forwarding the
request on to the TargetMachine if it supports the getJITStubForFunction method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:12:02 +00:00
Chris Lattner 65b05ce022 Implement the TargetMachine::getJITStubForFunction method for X86, finegrainify
namespacification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:11:18 +00:00
Chris Lattner 459ccab002 Add new getJITStubForFunction method, which may optionally be implemented by
targets for better performance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10429 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:10:32 +00:00
Chris Lattner 895be4bae2 Doxygenify comments, remove extraneous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10428 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 06:31:42 +00:00