Commit Graph

6339 Commits

Author SHA1 Message Date
Brian Gaeke
beb320af87 Add Initialization and Finalization methods for the Printer pass,
to print various things on a module-by-module basis (currently, only the
former is used).

Don't print < > around names. The assembler can't take it.

Print pseudoinstructions only as comments. The poor little assembler can't
take that, either.

llvm-svn: 6789
2003-06-19 19:32:32 +00:00
Chris Lattner
ef97ca721a Remove usage of sys/unistd.h
llvm-svn: 6788
2003-06-19 18:42:09 +00:00
Chris Lattner
daebdb2358 Funcresolve no longer performs nicification of resolved functions
instcombine does this

llvm-svn: 6787
2003-06-19 17:03:51 +00:00
Chris Lattner
b03ec62b2b Update comments
llvm-svn: 6785
2003-06-19 17:03:00 +00:00
Chris Lattner
e40f29f2d4 The actual nicification of calls is now implemented in instcombine, not in
funcresolve

llvm-svn: 6784
2003-06-19 17:02:06 +00:00
Chris Lattner
29e8adc038 Implement the functionality of InstCombine/call.ll
llvm-svn: 6783
2003-06-19 17:00:31 +00:00
Chris Lattner
cee19b1ace Remove a bunch of complicated code. The functionality is implemented in instcombine instead
llvm-svn: 6782
2003-06-19 16:59:19 +00:00
Chris Lattner
19eecb51db New testcase
llvm-svn: 6781
2003-06-18 22:48:11 +00:00
Brian Gaeke
667447173d tools/llc/llc.cpp: Make "-o -" work.
llvm-svn: 6780
2003-06-18 21:43:33 +00:00
Brian Gaeke
7d145b44cc lib/Target/X86/X86TargetMachine.{cpp,h}: Add initial version
(non-working) of llc guts for X86, and add a prototype for it.

llvm-svn: 6779
2003-06-18 21:43:21 +00:00
Chris Lattner
fc725c2526 Diversify examples
llvm-svn: 6778
2003-06-18 21:30:51 +00:00
Chris Lattner
242a462967 fix incorrect anchor
llvm-svn: 6777
2003-06-18 21:28:11 +00:00
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
3b770a2a02 Move llvm tools to the start of the testrunner path, which allows the llvm 'as'
tool to be found in preference to the system 'as' tool.

llvm-svn: 6775
2003-06-18 19:39:06 +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
9798527411 Remove extra line
llvm-svn: 6773
2003-06-18 19:20:11 +00:00
Chris Lattner
a7bf3dea5c Reindent code to match the rest of the file
llvm-svn: 6772
2003-06-18 18:46:08 +00:00
Chris Lattner
4c82a3f652 Fix breakage due to John's recent changes
llvm-svn: 6771
2003-06-18 18:26:22 +00:00
Chris Lattner
7b1df04748 Add new DAE pass to gccld. It does not add cause any regressions in the test-suite
llvm-svn: 6770
2003-06-18 16:29:02 +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
4a15ebdde7 Make testcase more interesting, remove absolute path from -load line
llvm-svn: 6760
2003-06-17 22:21:55 +00:00
Chris Lattner
911e2c331c Initial checkin of DAE pass
llvm-svn: 6759
2003-06-17 22:21:05 +00:00
Chris Lattner
67594b9975 * Add new CallSite::get factory method
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!

llvm-svn: 6758
2003-06-17 22:16:59 +00:00
Chris Lattner
8903500053 Add new op_erase method
llvm-svn: 6757
2003-06-17 22:15:55 +00:00
Chris Lattner
5615d77ee1 Make sure accessor is properly doxygenized. It wants two lines
llvm-svn: 6756
2003-06-17 21:44:51 +00:00
Chris Lattner
260440f727 Add accessor
llvm-svn: 6755
2003-06-17 21:44:31 +00:00
Chris Lattner
7371945493 Fix to mesh with Johns recent changes
llvm-svn: 6754
2003-06-17 20:55:04 +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
d5220fcb6e Add variable named PLATFORMLIBDL to control OS-specific usage of libdl.
llvm-svn: 6752
2003-06-17 20:08:02 +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
8b6107ebf2 Make CallSite's default constructable, copyable, and assignable (explicitly)
llvm-svn: 6749
2003-06-17 19:50:28 +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
fd18a468c2 Add new testcase
llvm-svn: 6739
2003-06-17 15:16:35 +00:00
Chris Lattner
07452f836a Avoid divide by zero errors
llvm-svn: 6738
2003-06-17 15:07:20 +00:00
Chris Lattner
b23ae4483e Fix misspelling of ExtraSources, hopefully to unbreak the nightly tester
Remove evil rcs tag :)

llvm-svn: 6737
2003-06-17 14:30:21 +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
d865b9e2b2 New testcase
llvm-svn: 6735
2003-06-17 13:21:13 +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