oota-llvm.git
21 years agoRemoved a useless ofstream.
Misha Brukman [Mon, 2 Jun 2003 20:49:09 +0000 (20:49 +0000)]
Removed a useless ofstream.

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

21 years ago* Added casts to/from floating-point to integers.
Misha Brukman [Mon, 2 Jun 2003 19:08:37 +0000 (19:08 +0000)]
* Added casts to/from floating-point to integers.
* Changed // comments to #ifdef 0 to maintain syntax highlighting.

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

21 years agocompiled with the new SchedGraphCommon
Guochun Shi [Mon, 2 Jun 2003 17:48:56 +0000 (17:48 +0000)]
compiled with the new SchedGraphCommon

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

21 years ago* Make assertion message useful
Chris Lattner [Mon, 2 Jun 2003 17:42:47 +0000 (17:42 +0000)]
* Make assertion message useful
* Kill dead conditional

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

21 years agoSecond testcase identified by Joel
Chris Lattner [Mon, 2 Jun 2003 17:31:24 +0000 (17:31 +0000)]
Second testcase identified by Joel

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

21 years agoFix bug: Linker/2003-06-02-TypeResolveProblem.ll
Chris Lattner [Mon, 2 Jun 2003 17:25:46 +0000 (17:25 +0000)]
Fix bug: Linker/2003-06-02-TypeResolveProblem.ll

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

21 years agoNew testcase identified by Joel
Chris Lattner [Mon, 2 Jun 2003 17:07:42 +0000 (17:07 +0000)]
New testcase identified by Joel

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

21 years agoAdd support for C++ tests
Chris Lattner [Mon, 2 Jun 2003 05:49:11 +0000 (05:49 +0000)]
Add support for C++ tests

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

21 years agoBe more robust in the face of undefined behavior.
Chris Lattner [Mon, 2 Jun 2003 05:42:39 +0000 (05:42 +0000)]
Be more robust in the face of undefined behavior.
Fixes bug: BasicAA/2003-06-01-AliasCrash.ll

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

21 years agoNo need to print out bytecode :)
Chris Lattner [Mon, 2 Jun 2003 05:42:16 +0000 (05:42 +0000)]
No need to print out bytecode :)

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

21 years agoClean up after merging in SparcEmitter.cpp; branches and return work again.
Misha Brukman [Mon, 2 Jun 2003 05:24:46 +0000 (05:24 +0000)]
Clean up after merging in SparcEmitter.cpp; branches and return work again.

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

21 years agoMinor cleanups
Chris Lattner [Mon, 2 Jun 2003 05:21:06 +0000 (05:21 +0000)]
Minor cleanups

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

21 years agoNew testcase, reduced from 300.twolf by bugpoint
Chris Lattner [Mon, 2 Jun 2003 04:58:23 +0000 (04:58 +0000)]
New testcase, reduced from 300.twolf by bugpoint

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

21 years agoRemove stupid thinko that was preventing bugpoint from working
Chris Lattner [Mon, 2 Jun 2003 04:54:29 +0000 (04:54 +0000)]
Remove stupid thinko that was preventing bugpoint from working

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

21 years agoGive better information about how the passes crash
Chris Lattner [Mon, 2 Jun 2003 04:54:16 +0000 (04:54 +0000)]
Give better information about how the passes crash

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

21 years agoEliminated a compiler warning due to casting to a different-sized datatype.
Misha Brukman [Mon, 2 Jun 2003 04:13:58 +0000 (04:13 +0000)]
Eliminated a compiler warning due to casting to a different-sized datatype.

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

21 years agoMerged in tools/lli/JIT/SparcEmitter.cpp, coupled with the JITResolver taken
Misha Brukman [Mon, 2 Jun 2003 04:12:39 +0000 (04:12 +0000)]
Merged in tools/lli/JIT/SparcEmitter.cpp, coupled with the JITResolver taken
from lib/Target/X86/X86CodeEmitter.cpp .

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

21 years agoRemove spurious assert()
Misha Brukman [Mon, 2 Jun 2003 04:10:41 +0000 (04:10 +0000)]
Remove spurious assert()

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

21 years agoRenamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the
Misha Brukman [Mon, 2 Jun 2003 03:28:00 +0000 (03:28 +0000)]
Renamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the
target-independent lib/CodeGen/MachineCodeEmitter.cpp; preserved CVS history.

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

21 years ago* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cpp
Misha Brukman [Mon, 2 Jun 2003 03:23:16 +0000 (03:23 +0000)]
* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cpp
* No more createX86Emitter() vs. createSparcEmitter() -- there can be only one
* As a result, the memory management semantics must be handled according to
  platform -- the parameters to mmap() are particularly sensitive to the host
  architecture.

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

21 years agoFix bug: CBackend/2003-06-01-NullPointerType.ll
Chris Lattner [Mon, 2 Jun 2003 03:10:53 +0000 (03:10 +0000)]
Fix bug: CBackend/2003-06-01-NullPointerType.ll

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

21 years agoTestcase distilled from 255.vortex
Chris Lattner [Mon, 2 Jun 2003 03:07:54 +0000 (03:07 +0000)]
Testcase distilled from 255.vortex

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

21 years agoDeal with %lo/%lm/%hm/%hh flags in getMachineOpValue().
Brian Gaeke [Mon, 2 Jun 2003 02:13:26 +0000 (02:13 +0000)]
Deal with %lo/%lm/%hm/%hh flags in getMachineOpValue().

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

21 years agoOld testcase
Chris Lattner [Mon, 2 Jun 2003 02:13:02 +0000 (02:13 +0000)]
Old testcase

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

21 years agoThe flag modifications weren't picking up the old values of the
Brian Gaeke [Mon, 2 Jun 2003 02:10:31 +0000 (02:10 +0000)]
The flag modifications weren't picking up the old values of the
flags before. Save them in a temporary variable, then restore them from the
temporary after creating the new constant.

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

21 years agoRemove obsolete code
Chris Lattner [Mon, 2 Jun 2003 00:09:00 +0000 (00:09 +0000)]
Remove obsolete code

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

21 years agoMove target specific code to target files. The new MachineCodeEmitter
Chris Lattner [Sun, 1 Jun 2003 23:24:36 +0000 (23:24 +0000)]
Move target specific code to target files.  The new MachineCodeEmitter
class is actually target independent!

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

21 years agoMove X86 specific code out of the JIT into the X86 backend
Chris Lattner [Sun, 1 Jun 2003 23:23:50 +0000 (23:23 +0000)]
Move X86 specific code out of the JIT into the X86 backend

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

21 years agoChanges to be compatible with MachineCodeEmitter.h
Chris Lattner [Sun, 1 Jun 2003 23:22:11 +0000 (23:22 +0000)]
Changes to be compatible with MachineCodeEmitter.h

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

21 years agoHack up MachineCodeEmitter to actually be target independent.
Chris Lattner [Sun, 1 Jun 2003 23:20:02 +0000 (23:20 +0000)]
Hack up MachineCodeEmitter to actually be target independent.

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

21 years agoFix induction variable name clash in for loops, in finishFunction().
Brian Gaeke [Sun, 1 Jun 2003 22:08:29 +0000 (22:08 +0000)]
Fix induction variable name clash in for loops, in finishFunction().
Modify new MachineOperand so that its flags match the old MachineOperand's
 flags, for the flags that matter.

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

21 years agoMake the .inc file depend on $(TBLGEN), so that changes to TableGen followed
Brian Gaeke [Sun, 1 Jun 2003 04:52:51 +0000 (04:52 +0000)]
Make the .inc file depend on $(TBLGEN), so that changes to TableGen followed
by a re-link of TableGen will notify Make to rebuild the .inc file.

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

21 years agoDon't print out unique identifier for opaque types
Chris Lattner [Sun, 1 Jun 2003 03:45:51 +0000 (03:45 +0000)]
Don't print out unique identifier for opaque types

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

21 years ago* Implement cast (long|ulong) to bool
Chris Lattner [Sun, 1 Jun 2003 03:38:24 +0000 (03:38 +0000)]
* Implement cast (long|ulong) to bool
* Fix cast of (short|ushort|int|uint) to bool to work right

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

21 years agoAdd RR forms of test instruction
Chris Lattner [Sun, 1 Jun 2003 03:37:46 +0000 (03:37 +0000)]
Add RR forms of test instruction

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

21 years agoAdd tests for cast of long to bool
Chris Lattner [Sun, 1 Jun 2003 03:37:25 +0000 (03:37 +0000)]
Add tests for cast of long to bool

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

21 years agoFix a bug with casts to bool. This fixes testcase UnitTests/2003-05-31-CastToBool.c
Chris Lattner [Sun, 1 Jun 2003 03:36:51 +0000 (03:36 +0000)]
Fix a bug with casts to bool.  This fixes testcase UnitTests/2003-05-31-CastToBool.c

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

21 years agoImplement xform: (X != 0) -> (bool)X
Chris Lattner [Sun, 1 Jun 2003 03:35:25 +0000 (03:35 +0000)]
Implement xform: (X != 0) -> (bool)X

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

21 years agoNew testcases
Chris Lattner [Sun, 1 Jun 2003 03:34:53 +0000 (03:34 +0000)]
New testcases

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

21 years agoAdd map info for arguments to call (copies)
Anand Shukla [Sun, 1 Jun 2003 02:48:23 +0000 (02:48 +0000)]
Add map info for arguments to call (copies)

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

21 years agoAdded the #(internal functions) to output
Anand Shukla [Sun, 1 Jun 2003 02:40:49 +0000 (02:40 +0000)]
Added the #(internal functions) to output

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

21 years agoAdd tests for 64 bit shifts
Chris Lattner [Sun, 1 Jun 2003 01:57:44 +0000 (01:57 +0000)]
Add tests for 64 bit shifts

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

21 years agoAdd support for shl and shr for 64 bit integer types
Chris Lattner [Sun, 1 Jun 2003 01:56:54 +0000 (01:56 +0000)]
Add support for shl and shr for 64 bit integer types

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

21 years agoAdd definitions for TEST instructions
Chris Lattner [Sun, 1 Jun 2003 01:56:39 +0000 (01:56 +0000)]
Add definitions for TEST instructions

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

21 years agoAdd new cmovne32 instruction
Chris Lattner [Sun, 1 Jun 2003 00:05:15 +0000 (00:05 +0000)]
Add new cmovne32 instruction

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

21 years agoFix bug: CBackend/2003-05-31-MissingStructName.ll
Chris Lattner [Sat, 31 May 2003 23:30:52 +0000 (23:30 +0000)]
Fix bug: CBackend/2003-05-31-MissingStructName.ll

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

21 years agoNew testcase
Chris Lattner [Sat, 31 May 2003 23:27:10 +0000 (23:27 +0000)]
New testcase

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

21 years agoFix bug: FunctionResolve/2003-05-31-AllInternalDecls.ll
Chris Lattner [Sat, 31 May 2003 21:57:06 +0000 (21:57 +0000)]
Fix bug: FunctionResolve/2003-05-31-AllInternalDecls.ll

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

21 years agoAdd support for: -o -
Chris Lattner [Sat, 31 May 2003 21:47:16 +0000 (21:47 +0000)]
Add support for: -o -

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

21 years agoNew testcase
Chris Lattner [Sat, 31 May 2003 21:33:08 +0000 (21:33 +0000)]
New testcase

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

21 years agoNew testcase for behavior we depend on.
Chris Lattner [Sat, 31 May 2003 21:14:45 +0000 (21:14 +0000)]
New testcase for behavior we depend on.

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

21 years agoFix bug: FuncResolve/2003-05-31-InternalDecl.ll
Chris Lattner [Sat, 31 May 2003 21:08:45 +0000 (21:08 +0000)]
Fix bug: FuncResolve/2003-05-31-InternalDecl.ll
Count resolutions correctly.

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

21 years agoNew testcase
Chris Lattner [Sat, 31 May 2003 21:04:39 +0000 (21:04 +0000)]
New testcase

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

21 years agoSimplify funcresolve a bit more
Chris Lattner [Sat, 31 May 2003 20:44:46 +0000 (20:44 +0000)]
Simplify funcresolve a bit more

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

21 years agoFix bug: FunctionResolve/2003-05-31-FuncPointerResolve.ll
Chris Lattner [Sat, 31 May 2003 20:33:31 +0000 (20:33 +0000)]
Fix bug: FunctionResolve/2003-05-31-FuncPointerResolve.ll

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

21 years agoAdd another testcase
Chris Lattner [Sat, 31 May 2003 20:33:09 +0000 (20:33 +0000)]
Add another testcase

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

21 years agoNew testcase
Chris Lattner [Sat, 31 May 2003 20:21:13 +0000 (20:21 +0000)]
New testcase

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

21 years agoFixed comment width, changed arg to be const, fixed indentation, removed unnecessary...
Tanya Lattner [Sat, 31 May 2003 20:01:37 +0000 (20:01 +0000)]
Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.

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

21 years ago* Correct title
Chris Lattner [Sat, 31 May 2003 19:55:19 +0000 (19:55 +0000)]
* Correct title
* Give credit to John for making the page

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

21 years ago*** empty log message ***
John Criswell [Sat, 31 May 2003 16:46:21 +0000 (16:46 +0000)]
*** empty log message ***

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

21 years agoMade a single common InvalidRegNum = -1.
Vikram S. Adve [Sat, 31 May 2003 07:44:07 +0000 (07:44 +0000)]
Made a single common InvalidRegNum = -1.

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

21 years agoRenamed a variable.
Vikram S. Adve [Sat, 31 May 2003 07:43:41 +0000 (07:43 +0000)]
Renamed a variable.

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

21 years agoSupport for annul/pred and other future flags on op codes.
Vikram S. Adve [Sat, 31 May 2003 07:43:01 +0000 (07:43 +0000)]
Support for annul/pred and other future flags on op codes.
Support for recording the physical register for implcit references.

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

21 years agoMinor changes.
Vikram S. Adve [Sat, 31 May 2003 07:41:54 +0000 (07:41 +0000)]
Minor changes.

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

21 years agoAdded MachineCodeForInstruction object as an argument to
Vikram S. Adve [Sat, 31 May 2003 07:41:24 +0000 (07:41 +0000)]
Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.

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

21 years agoAllow explicit physical registers for implicit operands.
Vikram S. Adve [Sat, 31 May 2003 07:39:06 +0000 (07:39 +0000)]
Allow explicit physical registers for implicit operands.

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

21 years agoChanges to allow explicit physical register arguments that have been
Vikram S. Adve [Sat, 31 May 2003 07:37:05 +0000 (07:37 +0000)]
Changes to allow explicit physical register arguments that have been
preallocated.  While reg-to-reg dependences were already handled, this
change required new code for adding edges to/from call instructions.
This was part of the extensive changes to the way code generation occurs
for function call arguments and return values.
See log for CodeGen/PhyRegAlloc.cpp.

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

21 years agoSeveral bug fixes: globals in call operands were not being pulled out;
Vikram S. Adve [Sat, 31 May 2003 07:34:57 +0000 (07:34 +0000)]
Several bug fixes: globals in call operands were not being pulled out;
globals in some other places may not have been pulled out either;
globals in phi operands were being put just before the phi instead of
in the predecessor basic blocks.

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

21 years agoExtensive changes to the way code generation occurs for function
Vikram S. Adve [Sat, 31 May 2003 07:32:01 +0000 (07:32 +0000)]
Extensive changes to the way code generation occurs for function
call arguments and return values:
Now all copy operations before and after a call are generated during
selection instead of during register allocation.
The values are copied to virtual registers (or to the stack), but
in the former case these operands are marked with the correct physical
registers according to the calling convention.
Although this complicates scheduling and does not work well with
live range analysis, it simplifies the machine-dependent part of
register allocation.

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

21 years agoReverting previous beautification changes.
Vikram S. Adve [Sat, 31 May 2003 07:27:17 +0000 (07:27 +0000)]
Reverting previous beautification changes.

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

21 years agoFixed rewriting of branches -- they now work forward and backward.
Misha Brukman [Sat, 31 May 2003 06:26:48 +0000 (06:26 +0000)]
Fixed rewriting of branches -- they now work forward and backward.

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

21 years agoRemoved useless code -- the byte order of output code is correct as is.
Misha Brukman [Sat, 31 May 2003 06:26:06 +0000 (06:26 +0000)]
Removed useless code -- the byte order of output code is correct as is.

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

21 years agoThe 'rd' register is consistently mentioned last in instruction definitions.
Misha Brukman [Sat, 31 May 2003 06:25:19 +0000 (06:25 +0000)]
The 'rd' register is consistently mentioned last in instruction definitions.
Created new classes from which instructions inherit their ordering of fields.

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

21 years ago* Put back into action SLL/SRL/SRA{r,i}6 instructions
Misha Brukman [Sat, 31 May 2003 06:24:29 +0000 (06:24 +0000)]
* Put back into action SLL/SRL/SRA{r,i}6 instructions
* Fixed page numbers referring to the Sparc manual

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

21 years agoCode beautification, no functional changes.
Misha Brukman [Sat, 31 May 2003 06:22:37 +0000 (06:22 +0000)]
Code beautification, no functional changes.

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

21 years ago3 more bugs from the SPEC codes and from richards_benchmark.c
Vikram S. Adve [Sat, 31 May 2003 04:45:56 +0000 (04:45 +0000)]
3 more bugs from the SPEC codes and from richards_benchmark.c

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

21 years agoEnabling some of these passes causes lli to break
Misha Brukman [Sat, 31 May 2003 04:23:04 +0000 (04:23 +0000)]
Enabling some of these passes causes lli to break

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

21 years agoThe actual order of parameters in a 2-reg-immediate assembly instructions is
Misha Brukman [Sat, 31 May 2003 04:22:26 +0000 (04:22 +0000)]
The actual order of parameters in a 2-reg-immediate assembly instructions is
"rs1, imm, rd": most importantly, rd goes last.

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

21 years agoNew testcase
Chris Lattner [Fri, 30 May 2003 21:03:00 +0000 (21:03 +0000)]
New testcase

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

21 years agoSince malloc is no longer used, no need to free() memory.
Misha Brukman [Fri, 30 May 2003 20:39:37 +0000 (20:39 +0000)]
Since malloc is no longer used, no need to free() memory.
Fixed BasicBlock patching by supplying correct type for the displacement.

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

21 years agoWhen converting virtual registers to immediate constants, change the opcode.
Misha Brukman [Fri, 30 May 2003 20:36:27 +0000 (20:36 +0000)]
When converting virtual registers to immediate constants, change the opcode.

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

21 years agoAdded saveBBreferences() for BasicBlock resolution.
Misha Brukman [Fri, 30 May 2003 20:32:45 +0000 (20:32 +0000)]
Added saveBBreferences() for BasicBlock resolution.

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

21 years agogetValueOp() now takes a MachineInstr as well as a MachineOperand.
Misha Brukman [Fri, 30 May 2003 20:32:01 +0000 (20:32 +0000)]
getValueOp() now takes a MachineInstr as well as a MachineOperand.

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

21 years agoAdded:
Misha Brukman [Fri, 30 May 2003 20:17:33 +0000 (20:17 +0000)]
Added:
* ability to save BasicBlock references to be resolved later
* register remappings from the enum values to the real hardware numbers

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

21 years agoFixed the namespace to match SparcInternals.h; added notes on some missing
Misha Brukman [Fri, 30 May 2003 20:15:59 +0000 (20:15 +0000)]
Fixed the namespace to match SparcInternals.h; added notes on some missing
sections of instructions.

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

21 years agoThe register types need to be visible outside of the class to be useful.
Misha Brukman [Fri, 30 May 2003 20:12:42 +0000 (20:12 +0000)]
The register types need to be visible outside of the class to be useful.
For one, converting register numbers based on class in the code emitter.

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

21 years agoMoved and expanded convertOpcodeFromRegToImm() to conver more opcodes.
Misha Brukman [Fri, 30 May 2003 20:11:56 +0000 (20:11 +0000)]
Moved and expanded convertOpcodeFromRegToImm() to conver more opcodes.
Code beautification for the rest of the code: changed layout to match the rest
of the code base.

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

21 years agoMake LLI behave just like LLC with regard to the compile passes it uses.
Misha Brukman [Fri, 30 May 2003 20:00:13 +0000 (20:00 +0000)]
Make LLI behave just like LLC with regard to the compile passes it uses.

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

21 years agoAdd SRoA pass to gccas
Chris Lattner [Fri, 30 May 2003 19:24:06 +0000 (19:24 +0000)]
Add SRoA pass to gccas

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

21 years agoMove indvars pass after mem2reg pass where it is more likely to be useful
Chris Lattner [Fri, 30 May 2003 19:23:10 +0000 (19:23 +0000)]
Move indvars pass after mem2reg pass where it is more likely to be useful

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

21 years agoOkay totally give up on trying to optimize aggregates that cannot be completely
Chris Lattner [Fri, 30 May 2003 19:22:14 +0000 (19:22 +0000)]
Okay totally give up on trying to optimize aggregates that cannot be completely
broken up into their elements.  Too many programs break because of this.

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

21 years agoMade the register and immediate versions of instructions consecutive.
Misha Brukman [Fri, 30 May 2003 19:14:01 +0000 (19:14 +0000)]
Made the register and immediate versions of instructions consecutive.

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

21 years agoadd a check that allows the SRoA pass to avoid breaking programs, even if their
Chris Lattner [Fri, 30 May 2003 18:09:57 +0000 (18:09 +0000)]
add a check that allows the SRoA pass to avoid breaking programs, even if their
behavior is technically undefined

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

21 years agoBecause the format of the shift instructions is `shift r, shcnt, r', the
Misha Brukman [Fri, 30 May 2003 18:06:10 +0000 (18:06 +0000)]
Because the format of the shift instructions is `shift r, shcnt, r', the
instructions of format 3.12 and 3.13 cannot inherit from F3rdrs1, because that
implies that the two registers are the first two parameters to the instruction.

Thus I made the instructions inherit from F3rd again, and manually added an rs1
field AFTER the shcnt field in the instruction, which maps to the appropriate
place in the instruction.

The other changes are just elimination of unnecessary spaces.

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

21 years agoSorry, correcting small typo.
Tanya Lattner [Fri, 30 May 2003 15:53:50 +0000 (15:53 +0000)]
Sorry, correcting small typo.

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

21 years agoAdded configurable options for the Linker and Archiver.
John Criswell [Fri, 30 May 2003 15:50:31 +0000 (15:50 +0000)]
Added configurable options for the Linker and Archiver.

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

21 years agoAdded the CloneTrace function which clones traces. It takes a vector of basic blocks...
Tanya Lattner [Fri, 30 May 2003 15:50:18 +0000 (15:50 +0000)]
Added the CloneTrace function which clones traces. It takes a vector of basic blocks, removes
internal phi nodes, and returns a new vector of basic blocks.

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

21 years agoAdded support for cloning a trace.
Tanya Lattner [Fri, 30 May 2003 15:48:23 +0000 (15:48 +0000)]
Added support for cloning a trace.

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

21 years agoMakefile: Make SparcV9CodeEmitter.inc depend on SparcV9_F*.td as well.
Brian Gaeke [Fri, 30 May 2003 08:02:14 +0000 (08:02 +0000)]
Makefile: Make SparcV9CodeEmitter.inc depend on SparcV9_F*.td as well.
SparcV9_F3.td: F3_12 and F3_13 instructions have rd and rs1 fields. Also,
 their fields were totally screwed up. This seems to fix the problem.

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

21 years agoFix bug: ScalarRepl/2003-05-30-MultiLevel.ll
Chris Lattner [Fri, 30 May 2003 05:26:30 +0000 (05:26 +0000)]
Fix bug: ScalarRepl/2003-05-30-MultiLevel.ll

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