Chris Lattner
d59414fc85
Sort #includes, eliminate #include of "llvm/Type.h" which was redundant
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7746 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 20:06:16 +00:00
Chris Lattner
67488a9236
Cygwin apparently works with %'s on registers!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 20:04:57 +00:00
Chris Lattner
2bcee3400f
Whoops, accidental checkin. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:35:46 +00:00
Chris Lattner
93c1afacd1
Add a new -enable-cygwin-compatible-output argument, which make the output more
...
consumably by the cygwin assembler. This is really just a nasty hack until we
get real target triple support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7742 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:35:26 +00:00
Chris Lattner
2b3860faeb
Add support to the mangler for targets which require _'s on global symbols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7741 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:34:29 +00:00
Brian Gaeke
2a09877519
Print % signs before register names; turn off "noprefix" mode in gas output.
...
Fixes test case test/Programs/LLVMSource/2003-08-03-ReservedWordGlobal.ll.
Also: Refactor implicit-uses printing into its own method.
Remove a couple of unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7737 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:05:46 +00:00
Vikram S. Adve
4ecff5df8c
Register argument to va_start must be marked as defined!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7734 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 18:42:47 +00:00
Chris Lattner
e7e33c0543
Add (ret int) expander so that we can at least write testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7730 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:48:00 +00:00
Misha Brukman
bf2f8a9963
Converted tabs to spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7728 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:38:50 +00:00
Misha Brukman
859e5cc1f7
Removed `-debug' so that spurious printouts of patterns are not seen at
...
compilation time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7727 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:30:20 +00:00
Chris Lattner
7c2af6e93a
Remove dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:24:02 +00:00
Chris Lattner
b84fe1c636
Add patterns for multiply, and, or, and xor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7725 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:23:25 +00:00
Chris Lattner
622003fd74
add support for more nodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7724 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:23:05 +00:00
Chris Lattner
2aa3a66fb1
Until the pattern matching instruction selector is finished, enable debug output from it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7722 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:11:01 +00:00
Chris Lattner
1f28e8ce4d
Fix handling of 'free' if it has absolutely no prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7721 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:05:08 +00:00
Chris Lattner
4c08840e4b
Include the new selection library for the X86 target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7720 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 14:59:53 +00:00
Chris Lattner
ac0c8680ad
Add support for a pattern matching instruction selector. This is still in
...
the early implementation phases, so it is disabled by default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7719 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 14:59:22 +00:00
Chris Lattner
fa7ed53f32
Build the SelectionDAG library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7718 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 14:57:48 +00:00
Chris Lattner
78ec311bd5
Initial checkin of SelectionDAG implementation. This is still rough and
...
unfinished
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7717 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 14:57:33 +00:00
Chris Lattner
f8dfa6ff9b
Make imm be a leaf instead of a nonterminal
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7708 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 19:51:16 +00:00
Misha Brukman
da81eca4bb
close() requires "unistd.h" .
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7695 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:35:41 +00:00
Misha Brukman
f7066c76d2
Doxygen-ify the comments by using '///' instead of '//'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7694 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:34:25 +00:00
Misha Brukman
35d402fbba
Remove references to `bugpoint' from the now-generic system utilities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7693 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:33:33 +00:00
Misha Brukman
3d1b0c7331
Moved removeFile() and getUniqueFilename() into FileUtilities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7691 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:28:50 +00:00
Misha Brukman
b8db66eb17
Implement LLVM intrinsics llvm.setjmp' and
llvm.longjmp' as follows:
...
* setjmp() simply returns 0
* longjmp() simply calls abort()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7676 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 15:43:46 +00:00
Vikram S. Adve
2010f7baec
Fix assertion in MachineInstr::substituteValue().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7675 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 15:01:48 +00:00
Vikram S. Adve
97a95bdbdd
Fix sanity-checking in 'maskUnsigned' code to be more precise:
...
use or def-and-use operands can be substituted after one def-only
operand has been substituted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7674 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 15:01:26 +00:00
John Criswell
7d3c5795f9
Fixed a segfault in gccld.
...
The original code does not work because the value from WorkList.end() is
invalidated once WorkList.erase() is called. To ensure proper functionality,
we must ensure that WorkList.erase() is always called before WorkList.end().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7673 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 14:43:13 +00:00
Chris Lattner
ec4f523178
Update tablegen interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7672 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 13:52:22 +00:00
Sumant Kowshik
8e37bd0330
Added code for pool allocating only the pool-allocatable data structures in the presence of collapsed nodes + a couple of bug fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7662 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:29:28 +00:00
Chris Lattner
69666e552e
This register is never used, disable it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 04:49:16 +00:00
Misha Brukman
fe8a796833
Changing command-line option formats to be more consistent with LLVM style.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7658 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 23:25:25 +00:00
Misha Brukman
58ba50fea7
* Renamed option from nopreselect' to
nopreopt' since it disables more than
...
just PreSelection
* Wrapped code at 80 columns
* Added the DecomposeMultiDimRefs Pass to the JIT compilation path
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7657 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 23:06:21 +00:00
Misha Brukman
0870e970ff
Use the registers g1 and g5 as temporaries for making far jumps and far calls,
...
because saving i1 and i2 to their ``designated'' stack slots corrupts unknown
memory in other functions, standard libraries, and worse.
In addition, this has the benefit of improving JIT performance because we
eliminate writing out 4 instructions in CompilationCallback() and 2 loads and 2
stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7653 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 22:19:18 +00:00
Chris Lattner
c232818432
Add a bunch of new Alpha Intrinsics for Rahul Joshi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7646 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 20:08:25 +00:00
Vikram S. Adve
e895a740c7
1. Bug fix: was using SLL instead of SLLX for ULongTy. Chump.
...
2. Handle fp-to-uint conversions directly here instead of relying on
a pre-transformation to replace them with the 2-step conversion.
3. Use size rather than explicitly checking types when deciding what
opcodes to use, wherever possible. This is less error prone (the
bug fix above was not the first time!).
4. Float-to-pointer casts shd now work though this hasn't been tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7645 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 18:48:40 +00:00
Vikram S. Adve
5ac1175ada
Remove conversion of fp-to-uint cast into a multi-step cast:
...
this is not an optional transformation on SPARC and is now handled
directly by instruction selection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7644 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 18:42:49 +00:00
Chris Lattner
326e40aa8b
The HAVE_JUMP code is dead, these intrinsics should _never_ be expanded
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7642 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 18:04:40 +00:00
Chris Lattner
8043127860
Remove unnecessary use of NonCopyable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7641 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 17:16:24 +00:00
Misha Brukman
0897c60822
SparcV9CodeEmitter.cpp:
...
* Doxygen-ified comments
* Added capability to make far calls (i.e., beyond 30 bits in CALL instr)
which implies that we need to delete function references that were added by
the call to addFunctionReference() because the actual call instruction is 10
instructions away (thanks to 64-bit address construction)
* Cleaned up code that generates far jumps by using an array+loop
SparcV9CodeEmitter.h:
* Explained more of the side-effects of emitFarCall()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 16:20:22 +00:00
Chris Lattner
2959b6ec49
Completely eliminate the isVoid TSFlag, shifting over all other fields
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7636 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 15:32:20 +00:00
Chris Lattner
d87b59c866
add a pattern for RET, immediates no longer need to be explicitly typed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7635 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 15:31:35 +00:00
Chris Lattner
3e77d6e44c
Start adding usefulness to the DAG node definitions, add a new Expander
...
class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7634 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 15:31:02 +00:00
Chris Lattner
3fd1f5bb6a
Use a new local data structure instead of the MachineInstr::regsUsed set
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7621 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 22:11:13 +00:00
Chris Lattner
c393c57afc
Add a map
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7620 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 22:09:31 +00:00
Chris Lattner
6ae3117582
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 22:03:27 +00:00
Chris Lattner
3bed95b628
Physical registers no longer live in the regsUsed set for each machine instr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 21:55:58 +00:00
Chris Lattner
610234d5c9
Do not insert physical regsiters into the regsUsed set
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7617 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 21:55:20 +00:00
Tanya Lattner
11a49a722f
Fixed minor bug in SafeToHoist and made some changes suggested by Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7614 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 20:39:02 +00:00
Tanya Lattner
9966c03aad
Fixed LICM bug that hoists trapping instructions that are not guaranteed to execute.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7612 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 18:45:46 +00:00