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