Brian Gaeke
19420e8daf
lib/Target/Sparc/Sparc.cpp:
...
Move LowerAllocations, PrintFunction, and SymbolStripping passes, and
the corresponding -disable-strip and -d options, over here to the SPARC
target-specific bits of llc. Rename -d to -dump-asm.
tools/llc/Makefile:
Reindent. Add x86 library so that llc compiles again.
tools/llc/llc.cpp:
Remove support for running arbitrary optimization passes. Use opt instead.
Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted
above.
Allow user to select a backend (x86 or SPARC); default to guessing from
the endianness/pointer size of the input bytecode file.
Fix typos.
Delete empty .s file and exit with error status if target does not support
static compilation.
llvm-svn: 6776
2003-06-18 21:14:23 +00:00
Chris Lattner
75e1e892a6
Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
...
llvm-svn: 6774
2003-06-18 19:22:36 +00:00
Chris Lattner
d176218b2d
Handle arguments passed in through the va_arg area
...
llvm-svn: 6769
2003-06-18 16:25:51 +00:00
Chris Lattner
1bcf06834c
These instructions really take three operands. This fixes some assertions
...
llvm-svn: 6765
2003-06-18 15:09:02 +00:00
Brian Gaeke
d51afb3000
lib/CWriter/Writer.cpp: Copy AsmWriter's ConstantFP checking code here
...
into a new function FPCSafeToPrint(), and use it in printConstant()
and printFunction() to decide whether we should output ConstantFPs as
floating-point constants or as references to stack-allocated variables.
lib/VMCore/AsmWriter.cpp: Fix an apparent typo in the code mentioned above.
llvm-svn: 6762
2003-06-17 23:55:35 +00:00
Brian Gaeke
04d082abe5
Add #ifdef hack for MAP_ANONYMOUS being spelled MAP_ANON on some platforms.
...
(We're already talking about autoconf'ing this, so I'm assuming this hack
will be short-lived...I just don't want it to get lost in my working files.)
llvm-svn: 6761
2003-06-17 23:14:06 +00:00
Chris Lattner
911e2c331c
Initial checkin of DAE pass
...
llvm-svn: 6759
2003-06-17 22:21:05 +00:00
Brian Gaeke
17f041ba98
Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms where
...
it is needed.
llvm-svn: 6753
2003-06-17 20:09:18 +00:00
Brian Gaeke
db4d9c9bd8
Use std::isnan instead of isnan. Brought back to you from the
...
future, by the reconciliation of the C++ and C99 standards. Someday.
llvm-svn: 6751
2003-06-17 19:59:17 +00:00
Brian Gaeke
f35ca29abc
Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.
...
llvm-svn: 6750
2003-06-17 19:54:00 +00:00
Chris Lattner
6d0553444b
Life is too short. Link in too much stuff on Linux to make building on sun easier
...
llvm-svn: 6748
2003-06-17 19:14:59 +00:00
Chris Lattner
0fc18257a9
The never-ending odyssey trying to get sparc to link
...
llvm-svn: 6747
2003-06-17 18:19:52 +00:00
Chris Lattner
85f1b38638
Make sure to get the value of ARCH before we use it
...
llvm-svn: 6746
2003-06-17 17:53:35 +00:00
Chris Lattner
0c7e4fdfa2
Do not link in the Sparc JIT when building on X86. Eventually the sparc will not
...
link in the X86 JIT either, but this makes testing easier.
For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :(
llvm-svn: 6745
2003-06-17 15:54:52 +00:00
Chris Lattner
0aa503a72d
Apparently "sparc" is a macro on sparcs. Ugh. :)
...
llvm-svn: 6744
2003-06-17 15:54:02 +00:00
Chris Lattner
ed38cd7aa9
Whoops, didn't mean to check that in :(
...
llvm-svn: 6743
2003-06-17 15:46:34 +00:00
Chris Lattner
1afd194a33
Use more structured command line option processing
...
llvm-svn: 6742
2003-06-17 15:43:13 +00:00
Chris Lattner
1f384965af
#ifdef out code that only applies when the HOSTARCH = sparc
...
llvm-svn: 6741
2003-06-17 15:32:38 +00:00
Chris Lattner
5083d8846b
Implement handling of constantexprs for disambiguation. This implements
...
BasicAA/featuretest.ll:constexpr_test
llvm-svn: 6740
2003-06-17 15:25:37 +00:00
Chris Lattner
07452f836a
Avoid divide by zero errors
...
llvm-svn: 6738
2003-06-17 15:07:20 +00:00
Chris Lattner
23450e834e
Fix bug: Assembler/2003-06-17-InvokeDisassemble.llx
...
"yes, invoke instructions can have just three arguments"
llvm-svn: 6736
2003-06-17 13:31:10 +00:00
Chris Lattner
44689264b2
Fairly major change: emit fixed sized allocas in the entry block as a variable,
...
instead of a variable pointer and an alloca. All accesses to the variable then
use the address-of operator to access it. This plays better with the internal
GCC code generation phases, which bail early on functions which contain allocas.
It also makes the code a bit easier to read.
llvm-svn: 6734
2003-06-17 04:39:14 +00:00
Chris Lattner
2b01ee820e
Don't corrupt memory when removing an instruction from the program, but
...
not the worklist
llvm-svn: 6733
2003-06-17 03:57:18 +00:00
Brian Gaeke
66d086cc1e
Don't include alloca.h on FreeBSD.
...
llvm-svn: 6728
2003-06-16 23:57:13 +00:00
Chris Lattner
493103ea3b
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
9fa396e6c7
Remove usage of alloca
...
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Chris Lattner
c32989e03a
Remove two using decls
...
Remove usage of alloca
llvm-svn: 6725
2003-06-16 22:18:28 +00:00
Brian Gaeke
4681b27a92
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Chris Lattner
3aba55395a
Rename FInfo.cpp to FunctionInfo.cpp, eliminate FInfo.h
...
llvm-svn: 6712
2003-06-16 15:31:52 +00:00
Chris Lattner
9958a1c5b8
move contents of include/llvm/Reoptimizer/Mapping/FInfo.h into here, it is sparc internal
...
llvm-svn: 6711
2003-06-16 15:31:09 +00:00
Chris Lattner
098bfd0a32
Fix typeo
...
llvm-svn: 6704
2003-06-16 12:21:19 +00:00
Chris Lattner
343c4d4987
Fix bug: Linker/2003-06-02-TypeResolveProblem2.ll
...
llvm-svn: 6699
2003-06-16 12:11:33 +00:00
Chris Lattner
64ec8f36aa
Fix bug: ADCE/2003-06-11-InvalidCFG.ll
...
This was because we were deleting large chunks of functions without an exit block, because the post-dominance
information was not useful. This broke crafty and twolf.
llvm-svn: 6698
2003-06-16 12:10:45 +00:00
Chris Lattner
01aacfcea8
Fix bug: CBackend/2003-06-11-HexConstant.ll
...
Fix bug: CBackend/2003-06-11-LiteralStringProblem.ll
llvm-svn: 6697
2003-06-16 12:09:09 +00:00
Chris Lattner
2806ac8828
Nodes get forwarded when they are collapsed currently.
...
llvm-svn: 6696
2003-06-16 12:08:18 +00:00
Chris Lattner
e718da0d46
Remove bogus assertion: a node with no referrers could be collapsed if field-sensitivity was disabled
...
llvm-svn: 6695
2003-06-16 12:07:39 +00:00
Chris Lattner
24441a15c5
Implement forwarding from stores to loads of must-aliased pointers.
...
This implements: GCSE/2003-06-13-LoadStoreEliminate.ll
llvm-svn: 6694
2003-06-16 12:06:41 +00:00
Chris Lattner
713b9542eb
Fix invalid number of arguments problem
...
llvm-svn: 6692
2003-06-16 12:03:00 +00:00
John Criswell
4781723de6
Included assert.h so that the code compiles under newer versions of GCC.
...
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
John Criswell
d3ff853628
Updated for the new projects Makefile.
...
llvm-svn: 6678
2003-06-11 13:49:11 +00:00
Guochun Shi
77b04a417a
add some comments
...
add a function ModuloScheduling::dumpFinalSchedule() to print out final schedule
llvm-svn: 6677
2003-06-10 20:04:30 +00:00
Guochun Shi
36a4257c48
add an brief instruction what this pass is
...
llvm-svn: 6676
2003-06-10 20:03:39 +00:00
Guochun Shi
385c1556a9
a simple introduction to this pass
...
llvm-svn: 6675
2003-06-10 20:02:16 +00:00
Guochun Shi
8783d79b8b
cleaned code
...
add some comments
llvm-svn: 6674
2003-06-10 19:09:00 +00:00
Guochun Shi
7868d0f43e
delete useless functions
...
add comment
llvm-svn: 6673
2003-06-08 23:16:07 +00:00
Guochun Shi
24ac61d239
change DEBUG to DEBUG_PRINT
...
llvm-svn: 6672
2003-06-08 20:40:47 +00:00
Chris Lattner
66f5f27dcb
Add #include for older GCC's
...
llvm-svn: 6670
2003-06-08 06:43:57 +00:00
Chris Lattner
326e1fb77d
Fix bug: LevelRaise/2003-06-07-EmptyArrayTest.ll
...
llvm-svn: 6669
2003-06-07 21:45:42 +00:00
Chris Lattner
26c238c746
Fix compilation problem on GCC 2.9x
...
llvm-svn: 6667
2003-06-07 20:29:58 +00:00
Misha Brukman
ba5c703619
Do not hastily change the Opcode from 'r' to 'i' type if we're not actually
...
SETTING the operand to be an immediate or have verified that one of the operands
is really a SignExtended or Unextended immediate value already, which warrants
an 'i' opcode.
llvm-svn: 6662
2003-06-07 02:34:43 +00:00