Commit Graph

6410 Commits

Author SHA1 Message Date
Chris Lattner 812110e81f update documentation about columns
llvm-svn: 6833
2003-06-21 20:09:01 +00:00
Chris Lattner 6e1ec2394f Minor simplification to 64-bit instsel
llvm-svn: 6831
2003-06-21 18:15:27 +00:00
Chris Lattner 22f54501be For 16 and 32-bit multiplies, use the IMUL instruction instead of the MUL instruction.
This allows us to not force the use of the EAX/AX registers!

llvm-svn: 6830
2003-06-21 17:16:58 +00:00
Chris Lattner 2a67e0cf02 Add IMULr16 & IMULr32 instructions
llvm-svn: 6829
2003-06-21 17:13:35 +00:00
Chris Lattner df1230ecf2 Generate code for LONG indexes to getelementptr instructions more efficiently
llvm-svn: 6828
2003-06-21 16:01:24 +00:00
Chris Lattner 9cb6b02dc9 Some preprocessors doen't support // comments and get confused
llvm-svn: 6821
2003-06-20 23:14:50 +00:00
Chris Lattner 33993642f6 Remove obsolete support for LD_LIBRARY_PATH
llvm-svn: 6815
2003-06-20 23:01:23 +00:00
John Criswell 79915272fd Updated to the new Makefile.common.
llvm-svn: 6814
2003-06-20 21:37:31 +00:00
John Criswell d9b7c5f430 Reverted back to revision 1.91.
llvm-svn: 6812
2003-06-20 21:24:54 +00:00
John Criswell ef1c153975 Added a hack that takes the path relative to the home directory into account
if a home directory is provided by the environment.

llvm-svn: 6805
2003-06-20 18:35:39 +00:00
John Criswell fdad6ce774 The modifications to LD_LIBRARY_PATH now add the specified paths to the
beginning of LD_LIBRARY_PATH as opposed to simply replacing it.
This allows users to use LD_LIBRARY_PATH when running tests (useful for
when they have installed their own version of GCC).

llvm-svn: 6800
2003-06-20 16:14:49 +00:00
Chris Lattner 67e0842581 Minor cleanups
llvm-svn: 6799
2003-06-20 15:49:04 +00:00
Chris Lattner f6791e5458 Fix problem building optmized build
llvm-svn: 6798
2003-06-20 15:41:57 +00:00
Chris Lattner 0024dff76f Fix the build. :(
llvm-svn: 6797
2003-06-20 14:36:52 +00:00
Vikram S. Adve f6aaa90e8d RDCCR defines arg. #1, not arg. #2.
llvm-svn: 6796
2003-06-20 11:32:11 +00:00
Chris Lattner d01460495e Changes to privatize NodeType
llvm-svn: 6795
2003-06-19 21:15:26 +00:00
Chris Lattner 4853d162af * Changes to make NodeType be private to DSNode.
* Add new MultiObject flag to DSNode which keeps track of whether or not
  multiple objects have been merged into the node, allowing must-alias info
  to be tracked.

llvm-svn: 6794
2003-06-19 21:15:11 +00:00
Chris Lattner 065162a250 Lots of changes to make the NodeType field private to DSNode.
Add new MultiObject flag

llvm-svn: 6793
2003-06-19 21:14:22 +00:00
Brian Gaeke 272c8871d7 Fix output bug: Intel asm comment character is #, not ;.
llvm-svn: 6792
2003-06-19 19:58:32 +00:00
Brian Gaeke 2181d1f1a2 RECAPITALIZE all the names of pseudo-instructions, and add a comment explaining
the convention.

:-)

llvm-svn: 6791
2003-06-19 19:41:13 +00:00
Brian Gaeke f6de19a095 Rename many instructions to their Intel asm-compatible names. This
involves removing the [bwl] suffixes from instruction names, as well
as some other distinguishing marks (32/64/80 on fp insns, _i suffixes, etc.)

Lowercase all instr. names as well for consistency's sake.

llvm-svn: 6790
2003-06-19 19:34:44 +00:00
Brian Gaeke 259fdbc230 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 0cfcaf0cc3 Remove usage of sys/unistd.h
llvm-svn: 6788
2003-06-19 18:42:09 +00:00
Chris Lattner 684e3d2726 Funcresolve no longer performs nicification of resolved functions
instcombine does this

llvm-svn: 6787
2003-06-19 17:03:51 +00:00
Chris Lattner 989fddebf0 Update comments
llvm-svn: 6785
2003-06-19 17:03:00 +00:00
Chris Lattner 85b116a108 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 970c33abb1 Implement the functionality of InstCombine/call.ll
llvm-svn: 6783
2003-06-19 17:00:31 +00:00
Chris Lattner bbe2dab909 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 d5cdc73f0b New testcase
llvm-svn: 6781
2003-06-18 22:48:11 +00:00
Brian Gaeke c39d16ab8f tools/llc/llc.cpp: Make "-o -" work.
llvm-svn: 6780
2003-06-18 21:43:33 +00:00
Brian Gaeke ac94bab876 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 33426d9168 Diversify examples
llvm-svn: 6778
2003-06-18 21:30:51 +00:00
Chris Lattner b254d5d50e fix incorrect anchor
llvm-svn: 6777
2003-06-18 21:28:11 +00:00
Brian Gaeke cf8c4f5fe4 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 fbac3ce589 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 8826647168 Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
llvm-svn: 6774
2003-06-18 19:22:36 +00:00
Chris Lattner 8e31d81bd7 Remove extra line
llvm-svn: 6773
2003-06-18 19:20:11 +00:00
Chris Lattner 422de25579 Reindent code to match the rest of the file
llvm-svn: 6772
2003-06-18 18:46:08 +00:00
Chris Lattner a436926e24 Fix breakage due to John's recent changes
llvm-svn: 6771
2003-06-18 18:26:22 +00:00
Chris Lattner 472beba236 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 5d3c145d4e Handle arguments passed in through the va_arg area
llvm-svn: 6769
2003-06-18 16:25:51 +00:00
Chris Lattner d768c51f1b These instructions really take three operands. This fixes some assertions
llvm-svn: 6765
2003-06-18 15:09:02 +00:00
Brian Gaeke 87b4f0765c 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 a7cf81bc75 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 a36eea5142 Make testcase more interesting, remove absolute path from -load line
llvm-svn: 6760
2003-06-17 22:21:55 +00:00
Chris Lattner 13bf28c00a Initial checkin of DAE pass
llvm-svn: 6759
2003-06-17 22:21:05 +00:00
Chris Lattner 95881f6234 * 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 908ffe346d Add new op_erase method
llvm-svn: 6757
2003-06-17 22:15:55 +00:00
Chris Lattner 32cbae3320 Make sure accessor is properly doxygenized. It wants two lines
llvm-svn: 6756
2003-06-17 21:44:51 +00:00
Chris Lattner f42ca71f34 Add accessor
llvm-svn: 6755
2003-06-17 21:44:31 +00:00
Chris Lattner 947b0daccd Fix to mesh with Johns recent changes
llvm-svn: 6754
2003-06-17 20:55:04 +00:00
Brian Gaeke e38c7d9f2d 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 c5ddcae8f5 Add variable named PLATFORMLIBDL to control OS-specific usage of libdl.
llvm-svn: 6752
2003-06-17 20:08:02 +00:00
Brian Gaeke 44a4adfad2 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 ad3aabd47a 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 ce5ee39319 Make CallSite's default constructable, copyable, and assignable (explicitly)
llvm-svn: 6749
2003-06-17 19:50:28 +00:00
Chris Lattner dcd6bcb71d 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 eba0e9930d The never-ending odyssey trying to get sparc to link
llvm-svn: 6747
2003-06-17 18:19:52 +00:00
Chris Lattner f9f0005af7 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 d9cc372613 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 cf48150098 Apparently "sparc" is a macro on sparcs. Ugh. :)
llvm-svn: 6744
2003-06-17 15:54:02 +00:00
Chris Lattner 66e018bb80 Whoops, didn't mean to check that in :(
llvm-svn: 6743
2003-06-17 15:46:34 +00:00
Chris Lattner d9e6bfae0e Use more structured command line option processing
llvm-svn: 6742
2003-06-17 15:43:13 +00:00
Chris Lattner a5741aca3a #ifdef out code that only applies when the HOSTARCH = sparc
llvm-svn: 6741
2003-06-17 15:32:38 +00:00
Chris Lattner 1bec75e730 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 b9119b3ed4 Add new testcase
llvm-svn: 6739
2003-06-17 15:16:35 +00:00
Chris Lattner 702a42bb8a Avoid divide by zero errors
llvm-svn: 6738
2003-06-17 15:07:20 +00:00
Chris Lattner 0f55690855 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 bbd00c12e0 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 5c2d7ac52f New testcase
llvm-svn: 6735
2003-06-17 13:21:13 +00:00
Chris Lattner fb70cf528e 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 2a8c301c9f 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 a7a50133ef Regularize the names of #include-guards.
llvm-svn: 6732
2003-06-17 00:35:55 +00:00
Chris Lattner 984c64759b Just _EXTEND_ the current path. Don't replace it. Replacing it makes it
impossible for scripts to find user tools like sed.

llvm-svn: 6731
2003-06-17 00:27:43 +00:00
Chris Lattner 6a28a105b1 Arg, sparc doesn't have correct things in math.h!
llvm-svn: 6729
2003-06-17 00:03:56 +00:00
Brian Gaeke 32f27e9f45 Don't include alloca.h on FreeBSD.
llvm-svn: 6728
2003-06-16 23:57:13 +00:00
Chris Lattner 55491774bb 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 7bdbd91e92 Remove usage of alloca
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Chris Lattner 5b7e3cae42 Remove two using decls
Remove usage of alloca

llvm-svn: 6725
2003-06-16 22:18:28 +00:00
Brian Gaeke 40edaa707f Basically this is the same as Makefile.Linux, at least for now.
llvm-svn: 6724
2003-06-16 22:01:55 +00:00
Brian Gaeke 7a719ed20c 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
Brian Gaeke 3350651851 Whoops. I didn't mean to step on John's changes.
llvm-svn: 6722
2003-06-16 21:18:20 +00:00
Brian Gaeke eb505aab08 This version supports FreeBSD.
llvm-svn: 6721
2003-06-16 21:14:57 +00:00
John Criswell 613be95209 Reconfigured the TOOLS variable so that it points to the current set of tools
built by the LLVM build.
Added a path for use with the TestRunner.sh script so that it can always find
the LLVM tools without having the user place them in his or her path.

llvm-svn: 6720
2003-06-16 19:16:32 +00:00
John Criswell 668fbc229a Modified the environment variables that determine where things are located to
do the following:
	1) Determine their default values without $HOME
	2) Configure the default values as full absolute pathnames.
This should help fix the nightly test builds.

llvm-svn: 6719
2003-06-16 19:14:31 +00:00
Chris Lattner 3bcde17e00 Rename FInfo.cpp to FunctionInfo.cpp, eliminate FInfo.h
llvm-svn: 6712
2003-06-16 15:31:52 +00:00
Chris Lattner 617ea34a6d 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 492aea746a Minor tweak to make testcase less simple
llvm-svn: 6710
2003-06-16 14:04:18 +00:00
Chris Lattner 9eee1a61e7 New testcase identified by joel
llvm-svn: 6709
2003-06-16 13:33:59 +00:00
Chris Lattner cdfb4dbad8 New testcase identified by joel
llvm-svn: 6708
2003-06-16 13:16:20 +00:00
Chris Lattner 94c348f7d3 Fix final linking errors
llvm-svn: 6707
2003-06-16 12:27:12 +00:00
Chris Lattner 0834ee4d98 Fix link errors by adding main's
llvm-svn: 6706
2003-06-16 12:25:11 +00:00
Chris Lattner 629669bd5b Fix link problem
llvm-svn: 6705
2003-06-16 12:23:27 +00:00
Chris Lattner 71ec97a6e1 Fix typeo
llvm-svn: 6704
2003-06-16 12:21:19 +00:00
Chris Lattner 4ff07067db Add prototype for the new DAE pass
llvm-svn: 6703
2003-06-16 12:16:52 +00:00
Chris Lattner cc7d6ff656 Fix bug: Linker/2003-06-02-TypeResolveProblem2.ll
llvm-svn: 6699
2003-06-16 12:11:33 +00:00
Chris Lattner dc62f1e021 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 d994fd3d88 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 3937726a5b Nodes get forwarded when they are collapsed currently.
llvm-svn: 6696
2003-06-16 12:08:18 +00:00
Chris Lattner 82f4f85f6d 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