Chris Lattner
1a02ca932c
*** Significantly speed up type resultion
...
This change speeds up type resolution by checking to see if a type is
recursive, and if it's not, using a more efficient algorithm.
This dramatically reduces bytecode loading time of kc++, reducing time-to-jit
kc++ --version to 17s from 33s
llvm-svn: 10088
2003-11-19 19:10:23 +00:00
Chris Lattner
c39fcfff0d
Improve test portability
...
llvm-svn: 10087
2003-11-19 18:37:06 +00:00
Chris Lattner
d19da4ce5b
Fix testcase. This should no longer be XFAIL'd
...
llvm-svn: 10086
2003-11-19 18:34:44 +00:00
Chris Lattner
9c68fa3ab1
* Finegrainify namespacification
...
* Strength reduce several data structures which were left over from the
"bad old days"
* Minor efficiency improvements
* Major efficiency improvement: In BytecodeParser::insertValue, do not allocate
a new ValueTab entry just because some value exists with a large type. This
dramatically reduces the number of allocations/deallocations performed by the
bytecode reader, and speeds up parsing of Kimwitu++ from 34s to 17s. This is
to help address PR127
llvm-svn: 10085
2003-11-19 17:27:18 +00:00
Chris Lattner
8700c28ac9
Minor efficiency improvements, finegrainify namespacification
...
llvm-svn: 10084
2003-11-19 17:21:11 +00:00
Chris Lattner
bf346b526f
In the future, these slabs can be null...
...
llvm-svn: 10083
2003-11-19 17:20:42 +00:00
Chris Lattner
11e8f1b595
Minor efficiency improvements all over. Finegrainify Namespacification
...
llvm-svn: 10082
2003-11-19 17:17:36 +00:00
Chris Lattner
e8de15976a
Fine grainify namespacification, #include file that defines the interface!
...
llvm-svn: 10081
2003-11-19 16:06:55 +00:00
Chris Lattner
a11f78167b
Finegrainify namespacification
...
llvm-svn: 10080
2003-11-19 06:14:38 +00:00
Chris Lattner
ffa9d511f9
Minor speedup to do less linear time searches of information we already have.
...
speeds up disassembly of kc++ by .6s
llvm-svn: 10079
2003-11-19 06:01:12 +00:00
Chris Lattner
2335331635
add new FAQ entry
...
llvm-svn: 10078
2003-11-19 05:53:12 +00:00
Chris Lattner
983c667a41
More bugz
...
llvm-svn: 10077
2003-11-19 01:08:24 +00:00
Chris Lattner
eedde31b7d
New testcase for PR 130
...
llvm-svn: 10076
2003-11-19 01:03:16 +00:00
Chris Lattner
74c55dd4f9
Fix PR130, and testcase test/Regression/Linker/2003-11-18-TypeResolution.ll
...
llvm-svn: 10075
2003-11-19 01:02:52 +00:00
Chris Lattner
c4cc197549
Testcase for PR131
...
llvm-svn: 10074
2003-11-18 23:46:07 +00:00
Chris Lattner
cf40b3f394
Add a few new bugs
...
llvm-svn: 10073
2003-11-18 23:04:02 +00:00
Chris Lattner
ef8c3fed25
new testcase for PR126
...
llvm-svn: 10072
2003-11-18 21:05:55 +00:00
Chris Lattner
47487608a9
New testcase for PR125
...
llvm-svn: 10071
2003-11-18 20:30:00 +00:00
Chris Lattner
05906cf0f0
Testcase for PR128
...
llvm-svn: 10070
2003-11-18 20:24:46 +00:00
Chris Lattner
8c09ecf0c9
Fix PR123
...
llvm-svn: 10069
2003-11-18 17:47:05 +00:00
John Criswell
956cf45674
Added the new GCC front end section to the table of contents.
...
llvm-svn: 10068
2003-11-18 16:08:49 +00:00
John Criswell
5e0f07e0c2
Added information on the GCC front end.
...
llvm-svn: 10067
2003-11-18 16:05:23 +00:00
Brian Gaeke
921440c309
Only use -Wl,-R. if HAVE_LINK_R.
...
llvm-svn: 10066
2003-11-18 06:31:17 +00:00
Chris Lattner
37d449d870
Add new bug fixed in the CFE
...
llvm-svn: 10065
2003-11-18 06:25:05 +00:00
Brian Gaeke
d2ca66ee8c
Regenerated using autoheader-2.57
...
llvm-svn: 10064
2003-11-18 06:21:24 +00:00
Brian Gaeke
3f6b856c7d
Regenerated using autoconf-2.57
...
llvm-svn: 10063
2003-11-18 06:20:41 +00:00
Brian Gaeke
3ed17192d0
Fix breakage caused by typos. Use 3-arg form of AC_DEFINE.
...
llvm-svn: 10062
2003-11-18 06:19:27 +00:00
Brian Gaeke
e86d843420
Update to reflect the fact that llvm-nm can read archives now.
...
llvm-svn: 10061
2003-11-18 06:18:09 +00:00
Misha Brukman
be755279f3
Emit the MachineConstantPool constants in one contiguous memory `pool'.
...
llvm-svn: 10060
2003-11-17 20:40:07 +00:00
Misha Brukman
fc16bb1af5
* Order #includes as per style guide
...
* Delete blank comment lines
* Eliminate space between function name and open-paren ( to be consistent
llvm-svn: 10059
2003-11-17 20:37:02 +00:00
Chris Lattner
dc2e39191a
Implement == and != correctly. Before they would incorrectly return !=
...
for some constant exprs when they could really be the same value
llvm-svn: 10058
2003-11-17 20:19:35 +00:00
Chris Lattner
e120a73166
The ConstantPointer class is now gone.
...
llvm-svn: 10057
2003-11-17 19:47:21 +00:00
John Criswell
6ee0ed5745
Added a check for the -R linker option.
...
llvm-svn: 10056
2003-11-17 19:46:02 +00:00
Misha Brukman
4f7ce560d5
This file was somehow missing a top-level comment line.
...
llvm-svn: 10055
2003-11-17 19:35:17 +00:00
Chris Lattner
77f20dc13f
No REALLY, get rid of ConstantPointer references
...
llvm-svn: 10054
2003-11-17 19:21:04 +00:00
Chris Lattner
4b6addf98a
Eliminate use of the ConstantPointer class
...
llvm-svn: 10053
2003-11-17 19:19:32 +00:00
Chris Lattner
9d9cbcf246
Constant folding shalt not be built on annotations
...
llvm-svn: 10052
2003-11-17 19:05:17 +00:00
Chris Lattner
ea25538936
Remove usage of ConstantPointer
...
llvm-svn: 10051
2003-11-17 17:28:29 +00:00
Chris Lattner
c96e96b26d
Be a bit more tolerant of broken code
...
llvm-svn: 10050
2003-11-17 01:17:04 +00:00
Chris Lattner
a3bdbd0f82
Fix copy-and-pasteo
...
llvm-svn: 10049
2003-11-17 01:07:58 +00:00
Brian Gaeke
3589140eb7
Regenerated using autoconf-2.57.
...
llvm-svn: 10048
2003-11-17 00:31:43 +00:00
Brian Gaeke
7027ed8cd8
Edit some comments slightly.
...
Set OS (build OS) and ARCH (target arch) based on the proper elements (SYSTEM,
and CPU, respectively) of the CPU-COMPANY-SYSTEM tuples.
Add OS and ARCH settings for PowerPC/Darwin (Mac OS X).
llvm-svn: 10047
2003-11-17 00:30:48 +00:00
Brian Gaeke
c5961314fa
add PR117
...
llvm-svn: 10046
2003-11-16 23:49:26 +00:00
Brian Gaeke
9c917abe9f
Document -disable-opt option that I added.
...
llvm-svn: 10045
2003-11-16 23:39:11 +00:00
Brian Gaeke
747777795f
Include Support/FileUtilities.h.
...
Print module identifier in DumpSymbolNamesFromModule().
In DumpSymbolNamesFromFile(), check whether it is an archive or a bytecode
file, and call the corresponding reader function (ParseBytecodeFile or
ReadArchiveFile).
Unconditionally set MultipleFiles for archives.
Fixes PR117.
llvm-svn: 10044
2003-11-16 23:34:13 +00:00
Brian Gaeke
900cc96e08
Implement skeletal support for __.SYMDEF (ranlib) sections in archives.
...
Correctly parse the Long Filename section of the archive.
When reading in archive members, set their ModuleIDs to
"ARCHIVENAME(MEMBERNAME)", as is traditional.
llvm-svn: 10043
2003-11-16 23:08:48 +00:00
Brian Gaeke
fda1f1835b
When you hand WriteAsOperand a type, it now prints out its symbolic name.
...
llvm-svn: 10042
2003-11-16 23:08:27 +00:00
Brian Gaeke
9f47927b28
When failing a Verifier assertion, use WriteAsOperand to print out the
...
offending types and/or values.
llvm-svn: 10041
2003-11-16 23:07:42 +00:00
Brian Gaeke
eb3de8f39a
Add a -verify option to verify the results of gccld passes.
...
Add a -disable-opt option to turn off gccld optimization passes.
llvm-svn: 10040
2003-11-16 23:07:28 +00:00
Brian Gaeke
7ff0d09adc
When we find a module we want, in an archive, in verbose mode,
...
print out the module's identifier (which should now contain the name
of both the archive and the module.)
Wrap some lines at 80 cols.
llvm-svn: 10039
2003-11-16 23:07:13 +00:00
Chris Lattner
00211f1d80
Don't print 'No predecessors!' on the entry block
...
llvm-svn: 10038
2003-11-16 22:59:57 +00:00
Chris Lattner
9dd6a82318
Bugz fixed
...
llvm-svn: 10037
2003-11-16 22:11:42 +00:00
Chris Lattner
5529caeba7
There is no need to rely on LLI working for this test
...
llvm-svn: 10036
2003-11-16 22:07:45 +00:00
Chris Lattner
9005b8000c
ISO 9899 7.13.2.1 (3) says that "[...] the values of objects of automatic
...
storage duration that are local to the function containing the invocation of the
[...] setjmp macro that do not have volatile-qualified type and have been
changed between the setjmp invocation and longjmp call are indeterminate."
As such, we have to mark all variables in a function that uses 'invoke' as
volatile.
This fixes PR77
llvm-svn: 10035
2003-11-16 22:06:14 +00:00
Chris Lattner
eec1307f43
Testcase for PR116
...
llvm-svn: 10034
2003-11-16 21:47:01 +00:00
Chris Lattner
2f486b8bde
add adce bug
...
llvm-svn: 10033
2003-11-16 21:42:48 +00:00
Chris Lattner
841dd53555
Fix PR116
...
llvm-svn: 10032
2003-11-16 21:39:27 +00:00
Chris Lattner
1765b4cfbd
New testcase, for PR 115
...
llvm-svn: 10031
2003-11-16 20:47:05 +00:00
Chris Lattner
b2e4d6d847
Bugz
...
llvm-svn: 10030
2003-11-16 20:25:24 +00:00
Chris Lattner
82f87e63e8
Fixes for PR114: Thanks to Reid Spencer!
...
llvm-svn: 10029
2003-11-16 20:21:15 +00:00
Brian Gaeke
27b10bc781
Regenerated with autoconf-2.57.
...
llvm-svn: 10025
2003-11-16 18:38:14 +00:00
Brian Gaeke
dfbd3d466a
Only default to the llvm-gcc in ~lattner if that directory exists.
...
Only warn if python version is not right; don't abort.
Add sanity checks for --with-llvmgccdir, with a big warning message at the end.
llvm-svn: 10024
2003-11-16 18:37:46 +00:00
Brian Gaeke
2b00004734
As per PR96, don't build subdirs if LLVMGCCDIR is not set to something
...
reasonable, instead, print out a "LOUD warning".
llvm-svn: 10023
2003-11-16 06:51:53 +00:00
Misha Brukman
c40257f1e5
Stylesheets: they do a website good!
...
llvm-svn: 10003
2003-11-14 17:34:38 +00:00
Chris Lattner
ab6895ea76
Implement a small optimization to handling of GEP's that are equivalent to casts.
...
This results in substantially reduced collapsing for some testcases
llvm-svn: 10002
2003-11-14 17:09:46 +00:00
Chris Lattner
93dea78f85
I can't believe the incompetence of the people I have to deal with around here.
...
These fools don't even wrap code at 80 columns.
Oh wait, _I_ wrote that. That explains a lot!!
llvm-svn: 9999
2003-11-14 16:34:25 +00:00
Chris Lattner
7c04a29ea6
Bugz come in, bugs go out
...
llvm-svn: 9995
2003-11-14 06:42:01 +00:00
Chris Lattner
cd45bc4086
Fix PR 110: the constant folding code assumes that if something is not a
...
constant expression, but is of (for example) ubyte type, then it is a
ConstantUInt. This was not true for placeholders.
llvm-svn: 9994
2003-11-14 06:38:46 +00:00
Chris Lattner
116c4f73ad
This is obviously illegal C++ code, but was apparently accepted by 3.3
...
bork
llvm-svn: 9993
2003-11-14 06:03:05 +00:00
Misha Brukman
8b6d804cd3
Give props to Reid Spencer for the namespacification work.
...
llvm-svn: 9992
2003-11-14 05:37:10 +00:00
Misha Brukman
133b35ef95
Brian implemented the vaarg instruction in the interpreter.
...
llvm-svn: 9989
2003-11-14 03:30:43 +00:00
Chris Lattner
ef901291c6
Expose the verifier to opt
...
llvm-svn: 9984
2003-11-13 19:47:29 +00:00
Brian Gaeke
d8a4d2b08d
Removed link from the docs index too.
...
llvm-svn: 9983
2003-11-13 19:32:14 +00:00
Chris Lattner
093cc6dc92
As the comments indicate, this is a temporary, repulsive, hack
...
llvm-svn: 9982
2003-11-13 19:26:54 +00:00
Chris Lattner
d76fe4ea7d
Implement feature: InstCombine/2003-11-13-ConstExprCastCall.ll
...
llvm-svn: 9981
2003-11-13 19:17:02 +00:00
Chris Lattner
7ef8dfa9c3
Instcombine should promote this, and because it isn't, we are failing poolalloc tests
...
llvm-svn: 9980
2003-11-13 19:05:15 +00:00
Chris Lattner
a8150c3f8d
Trying to get the dsgraph for an external function is bad for DSA's health
...
llvm-svn: 9979
2003-11-13 18:48:11 +00:00
Misha Brukman
1608115bfc
Fixed word order.
...
llvm-svn: 9978
2003-11-13 18:03:11 +00:00
Chris Lattner
133ba7a2a6
NEW testcase for PR84 :(
...
llvm-svn: 9967
2003-11-13 06:19:56 +00:00
Brian Gaeke
d81ca471dd
Change LLI's internal representation of va_list to a pointer to the next
...
argument to be returned by va_arg. This allows va_lists to be passed
between different LLVM procedures (though it is unlikely that an LLI
va_list would make sense to an external function, except by chance.)
llvm-svn: 9965
2003-11-13 06:06:01 +00:00
Chris Lattner
baef234ce3
Implement the CompleteBU pass
...
llvm-svn: 9964
2003-11-13 05:05:41 +00:00
Chris Lattner
6d27d46a08
Add methods for implementation
...
llvm-svn: 9963
2003-11-13 05:05:34 +00:00
Chris Lattner
71d3377010
Minor code cleanup
...
llvm-svn: 9962
2003-11-13 05:04:19 +00:00
Chris Lattner
9d7587238b
Remove needless dependence on boost
...
llvm-svn: 9961
2003-11-13 04:11:30 +00:00
Chris Lattner
fb4c057c4c
Disable integer tracking by default
...
llvm-svn: 9960
2003-11-13 03:10:49 +00:00
Chris Lattner
97cf7cf400
Add namespace qualifier
...
llvm-svn: 9959
2003-11-13 02:30:22 +00:00
Chris Lattner
537bb3cc53
Minor cleanups
...
llvm-svn: 9958
2003-11-13 02:01:41 +00:00
Chris Lattner
04946381b9
Add an initial version of the CompleteBUDataStructures class, which is currently
...
identical to the BU pass, but has an accurate call graph
llvm-svn: 9956
2003-11-13 01:43:00 +00:00
Chris Lattner
b5be72ff30
Add an initial version of the CompleteBUDataStructures pass
...
llvm-svn: 9955
2003-11-13 01:42:38 +00:00
Misha Brukman
0e2e1f121a
Include the file before we close the llvm namespace.
...
llvm-svn: 9954
2003-11-13 00:23:05 +00:00
Misha Brukman
6675f982de
Substantially re-organized this file:
...
* There is now only one pass to print out assembly instead of two
* It is a FunctionPass
* The Module-level printing of globals is now in doFinalization() method of the
FunctionPass
* The code has been reformatted to follow LLVM coding standards
* Some comments, not all, were doxygenified
* Last but not least, the function to create an instance of this pass is also no
longer a method in the UltraSparc class.
llvm-svn: 9953
2003-11-13 00:22:19 +00:00
Misha Brukman
2558e8c852
The function to create an instance of this pass is no longer a method of
...
the UltraSparc class.
llvm-svn: 9952
2003-11-13 00:19:02 +00:00
Misha Brukman
167026f8c8
The functions to create new instances of passes are no longer methods in the
...
UltraSparc class. Comments are also doxygen-compatible now.
llvm-svn: 9951
2003-11-13 00:17:20 +00:00
Misha Brukman
b26c6fa4eb
* Put command-line switches in their own namespace
...
* Pass creation functions are no longer in the UltraSparc class
llvm-svn: 9950
2003-11-13 00:16:28 +00:00
Misha Brukman
893e793739
Force a dependency on the .inc file, which must be generated!
...
llvm-svn: 9949
2003-11-13 00:05:09 +00:00
Chris Lattner
9e876556fd
Fine-grainify namespaces for this library
...
llvm-svn: 9948
2003-11-12 23:11:14 +00:00
Misha Brukman
ec4f37a19b
You cannot debug namespacified LLVM with GDB 5.x anymore.
...
llvm-svn: 9946
2003-11-12 22:55:13 +00:00
Brian Gaeke
b8b238b12a
Add another fixed bug.
...
llvm-svn: 9945
2003-11-12 22:48:52 +00:00
Chris Lattner
9580ce235b
Fix faulty namespacification
...
llvm-svn: 9943
2003-11-12 22:45:14 +00:00
Misha Brukman
bca83f4a47
Regenerated `configure' for adding Makefiles and test.in to FreeBench
...
benchmarks.
llvm-svn: 9942
2003-11-12 22:16:51 +00:00
Misha Brukman
77a8be8016
OK, scratch my last post, this actually *does* work, those syntax errors were
...
imaginary.
llvm-svn: 9941
2003-11-12 22:16:23 +00:00
Chris Lattner
2203f2509e
Add new testcase for PR112
...
llvm-svn: 9940
2003-11-12 22:15:55 +00:00
Misha Brukman
902cd7689c
Apparently adding these entries and regenerating llvm/configure results in
...
syntax errors. Reverting the patch until I can figure out what's going on.
llvm-svn: 9939
2003-11-12 21:51:44 +00:00
Misha Brukman
3a9abb84c1
Some programs actually require an input to run. The nerve!
...
llvm-svn: 9938
2003-11-12 21:45:04 +00:00
Brian Gaeke
0afc434b71
Mention LLVM cast instructions.
...
llvm-svn: 9936
2003-11-12 21:39:31 +00:00
Brian Gaeke
e1fd80a246
Update section on GNU lightning fp.
...
llvm-svn: 9935
2003-11-12 21:38:50 +00:00
Brian Gaeke
c806b22110
I won't claim we're "better than and/or different from..." at Misha's behest.
...
llvm-svn: 9934
2003-11-12 21:36:29 +00:00
John Criswell
9537a75c23
Regress to not using the llvm namespace.
...
This keeps Pool Allocation stuff from compiling.
We can re-visit it later when we have time to do it right.
llvm-svn: 9932
2003-11-12 21:32:06 +00:00
Brian Gaeke
e6406a8cd2
Make the beginning of this page look like the beginnings of other pages.
...
llvm-svn: 9930
2003-11-12 20:47:30 +00:00
Brian Gaeke
56d3cc5793
index.html: Add link to llvm vs. the world
...
llvm.css: Add padding on top and bottom so that letters do not merge with
surrounding whitespace
llvm-svn: 9929
2003-11-12 20:31:18 +00:00
Chris Lattner
a146c31bde
This color is making me want to puke :)
...
llvm-svn: 9928
2003-11-12 20:24:39 +00:00
Brian Gaeke
3bac762f0f
Whoops, a div got closed in the wrong place.
...
llvm-svn: 9927
2003-11-12 20:20:55 +00:00
Brian Gaeke
63dbb1f591
First draft of LLVM-to-anything comparison document.
...
llvm-svn: 9926
2003-11-12 20:19:40 +00:00
Misha Brukman
dc6863ad64
Add FreeBench benchmarks to our test suite -- they weren't available by default
...
before when one didn't build in his source root.
llvm-svn: 9924
2003-11-12 19:39:10 +00:00
Chris Lattner
da03a8a792
Add new argument to disable checking
...
llvm-svn: 9922
2003-11-12 17:58:22 +00:00
Chris Lattner
e6383ab55e
Add argument
...
llvm-svn: 9921
2003-11-12 17:58:09 +00:00
Chris Lattner
f88e8d9c12
The bytecode reader/writer is borking this testcase
...
llvm-svn: 9919
2003-11-12 16:40:08 +00:00
Chris Lattner
a360143bed
This is not the instruction combiner's fault! No really!
...
llvm-svn: 9918
2003-11-12 16:38:32 +00:00
Chris Lattner
33f27de303
Reduced testcase for PR 110
...
llvm-svn: 9917
2003-11-12 16:24:30 +00:00
Chris Lattner
3b93c91836
Detect problems with PHI node operands!
...
llvm-svn: 9916
2003-11-12 07:13:37 +00:00
Chris Lattner
7cb5070672
Restore the -llvm option
...
llvm-svn: 9915
2003-11-12 04:59:59 +00:00
Chris Lattner
b740afb2b0
Print return nodes for graphs with multiple functions in them correctly
...
llvm-svn: 9914
2003-11-12 04:58:19 +00:00
Chris Lattner
12c71c00ef
Don't crash if no gg
...
llvm-svn: 9913
2003-11-12 04:57:58 +00:00
Chris Lattner
a723537540
PR107 is now fixed
...
llvm-svn: 9912
2003-11-12 04:42:37 +00:00
Chris Lattner
ebcf5a5dba
Fix bug PR107, patch contributed by Reid Spencer!
...
llvm-svn: 9911
2003-11-12 04:40:30 +00:00
Chris Lattner
b0aa83ee0a
New testcase for PR107
...
llvm-svn: 9910
2003-11-12 04:40:11 +00:00
Brian Gaeke
81545ad1f5
I don't think this was supposed to have gotten into the namespaceify patch, but
...
it did. Oops!
llvm-svn: 9908
2003-11-12 01:11:54 +00:00
Chris Lattner
a9450bd4ac
Cleanups
...
llvm-svn: 9907
2003-11-12 00:40:34 +00:00
Chris Lattner
74a2299748
reword a bit, be less aggressive with my link
...
llvm-svn: 9906
2003-11-11 23:46:35 +00:00
Chris Lattner
ed6d53f512
Add a link to the llvmdev posting
...
llvm-svn: 9905
2003-11-11 23:45:03 +00:00
Brian Gaeke
10ea82301f
Mention that all LLVM C++ code has been moved into the 'llvm' C++ namespace.
...
llvm-svn: 9904
2003-11-11 22:45:41 +00:00
Brian Gaeke
960707c335
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Brian Gaeke
da3f675edd
Move IsArchive, IsBytecode to FileUtilities. Fix up some method comments.
...
llvm-svn: 9902
2003-11-11 21:54:01 +00:00
Brian Gaeke
251b979943
Move IsArchive and IsBytecode here from gccld. Refactor into CheckMagic.
...
llvm-svn: 9901
2003-11-11 21:53:50 +00:00
Brian Gaeke
c30c5db05f
Add prototypes for CheckMagic, IsArchive, and IsBytecode.
...
llvm-svn: 9900
2003-11-11 21:53:29 +00:00
Brian Gaeke
7aeb2b7e42
Add another fixed bug.
...
llvm-svn: 9899
2003-11-11 21:52:34 +00:00
Chris Lattner
da05b05197
Compute node offsets correctly
...
llvm-svn: 9895
2003-11-11 20:12:32 +00:00
Misha Brukman
895b12faff
'Tis quite silly to check for a cached version of the entire executable. That
...
amounts to checking for a completely-native version. We'll cache on a
function-by-function basis instead (in the JIT's CodeEmitter).
llvm-svn: 9894
2003-11-11 18:38:56 +00:00
Brian Gaeke
ec21f8e9bf
This version of Linker.cpp works a lot better, but it's a little messy. Sorry.
...
Use FileOpenable() instead of FileExists().
Create IsBytecode() predicate -- like IsArchive(), but for bytecode files.
Use IsBytecode() before trying to load any file as a bytecode file.
llvm-svn: 9893
2003-11-11 18:27:37 +00:00
Brian Gaeke
ca35fbf33d
Add implementation of FileOpenable().
...
Refactor MakeFileExecutable() & MakeFileExecutable() into AddPermissionsBits().
llvm-svn: 9892
2003-11-11 18:27:21 +00:00
Brian Gaeke
1f41970f9c
VS: ----------------------------------------------------------------------
...
Add prototype for FileOpenable().
llvm-svn: 9891
2003-11-11 18:27:11 +00:00
Misha Brukman
8bbd8c2689
The caching will not live in LLEE's execve() handler; that's suboptimal.
...
llvm-svn: 9890
2003-11-11 18:23:09 +00:00
Chris Lattner
fdc8d6547b
Add new method for computing node mappings. This is used by the pool allocator
...
llvm-svn: 9880
2003-11-11 05:08:59 +00:00
Chris Lattner
a6ad46d9f4
Add new method
...
llvm-svn: 9879
2003-11-11 05:08:36 +00:00
Misha Brukman
10ff946838
Added link to ``CVS Branching and Tags Primer''.
...
llvm-svn: 9875
2003-11-11 00:14:41 +00:00
Misha Brukman
b617253a16
Shorten the "updating Makefile" status print-out.
...
llvm-svn: 9874
2003-11-11 00:05:29 +00:00
Brian Gaeke
8f53a89edf
Fix problems linking against the reoptimizer; _llvm_regAllocState must have
...
externally-visible linkage, and SaveStateToModule must default to true for llc.
I don't remember why I made it const; perhaps it should be deconstified.
llvm-svn: 9858
2003-11-10 07:12:01 +00:00
Chris Lattner
1e6d3053f2
Reorganize code for locality, improve comments
...
llvm-svn: 9857
2003-11-10 04:42:42 +00:00
Chris Lattner
6d839e50c9
Include forms of SplitCriticalEdge which work correctly with pred/succ iterators
...
llvm-svn: 9856
2003-11-10 04:42:13 +00:00
Chris Lattner
47acfeda62
No really, I'm not on crack
...
llvm-svn: 9855
2003-11-10 04:23:52 +00:00
Chris Lattner
f8deeafd91
Helper method
...
llvm-svn: 9854
2003-11-10 04:16:50 +00:00
Chris Lattner
4474336166
Adjust to new critical edge interface
...
llvm-svn: 9853
2003-11-10 04:10:50 +00:00
Chris Lattner
f650861760
Move isCriticalEdge & SplitCritical into this file. While we're at it, change
...
the interface to SplitCriticalEdge so that it splits an edge if it is critical,
otherwise just returns false and noops if not.
llvm-svn: 9852
2003-11-10 04:10:27 +00:00
Chris Lattner
a5397c883a
Move isCriticalEdge & SplitCritical edge out of this file, which is only
...
for passes.
llvm-svn: 9851
2003-11-10 04:09:44 +00:00
Brian Gaeke
59c321782f
Regenerated.
...
llvm-svn: 9850
2003-11-10 03:06:28 +00:00
Brian Gaeke
b621857f01
Patch to fix PR102, contributed by Reid Spencer.
...
llvm-svn: 9849
2003-11-10 03:06:09 +00:00
Brian Gaeke
cac06a5c46
add Reid Spencer
...
llvm-svn: 9848
2003-11-10 03:05:36 +00:00
Brian Gaeke
c0c23c29aa
Operand numbers are now ints. Save the register allocation of the value
...
each instruction produces as "operand" -1, and the other operands as 0
.. n, as before. PhyRegAlloc::saveState() is refactored into
PhyRegAlloc::saveStateForValue().
llvm-svn: 9842
2003-11-10 00:05:26 +00:00
Misha Brukman
b891ffbc7e
If the source tree's Makefile is more up-to-date, copy it over into the build
...
tree.
llvm-svn: 9836
2003-11-09 21:36:19 +00:00
Chris Lattner
b2d575769b
Give gccld more guts
...
llvm-svn: 9835
2003-11-09 19:55:09 +00:00
Chris Lattner
9a010038f1
More additions
...
llvm-svn: 9834
2003-11-09 19:54:30 +00:00
Chris Lattner
881cb48619
Bugz bugz bugz
...
llvm-svn: 9833
2003-11-09 19:44:07 +00:00
Chris Lattner
a570f7b681
Fix PR95. I'm checking this patch in for Reid Spencer, who figured it out
...
and wrote it up. Thanks!!
llvm-svn: 9832
2003-11-09 19:39:48 +00:00
Chris Lattner
da8571b464
Add an assertion
...
llvm-svn: 9831
2003-11-09 15:51:07 +00:00
Brian Gaeke
75bc7cec4b
Fix PR103
...
llvm-svn: 9830
2003-11-09 07:08:34 +00:00
Chris Lattner
b09ad87eb9
New testcase
...
llvm-svn: 9829
2003-11-09 07:05:02 +00:00
Chris Lattner
984e11792f
Do NOT inline self recursive calls into other functions. This is causing the
...
pool allocator no end of trouble, and doesn't make a lot of sense anyway. This
does not solve the problem with mutually recursive functions, but they are much less common.
llvm-svn: 9828
2003-11-09 05:05:36 +00:00
Chris Lattner
d61abe82d3
Untypo
...
llvm-svn: 9827
2003-11-09 05:04:25 +00:00
Chris Lattner
950c75f135
Add more functions
...
llvm-svn: 9826
2003-11-09 04:10:41 +00:00
Chris Lattner
5011b956a9
None of the __llvm_* functions call into the program. This makes the
...
callgraph MUCH simpler for eh using program.
llvm-svn: 9825
2003-11-09 04:00:59 +00:00
Chris Lattner
cff83a2f24
Add support for memmove
...
llvm-svn: 9824
2003-11-09 03:32:52 +00:00
Brian Gaeke
c3c242c3ac
Remove #include of PassManager.h which was marked FIXME, and apparently is no
...
longer used.
llvm-svn: 9823
2003-11-09 03:15:40 +00:00
Chris Lattner
9a06c2bc25
Totally disable assert, in order to fix PR101
...
llvm-svn: 9818
2003-11-09 00:29:51 +00:00
Chris Lattner
3faf03a00f
new testcase
...
llvm-svn: 9817
2003-11-09 00:23:05 +00:00
Chris Lattner
123ba49839
new testcase
...
llvm-svn: 9815
2003-11-08 23:00:49 +00:00
Chris Lattner
12dd38aa99
Handle bzero and memset in the local analysis, because we were missing the fact
...
that memset returns its argument!!
llvm-svn: 9811
2003-11-08 21:55:50 +00:00
Chris Lattner
c129e009eb
Fix broken makefile dependency generation
...
llvm-svn: 9810
2003-11-08 21:23:06 +00:00
Chris Lattner
2cb1db763e
This doesn't use DSCallSiteIterator
...
llvm-svn: 9809
2003-11-08 21:17:37 +00:00
Chris Lattner
5c94491743
* Add units to the yaxis of each chart
...
* Add charts to the nightly test report
llvm-svn: 9808
2003-11-08 20:48:39 +00:00
Chris Lattner
1388c6765f
Since we are collecting all of this data, we might as well graph it!
...
llvm-svn: 9807
2003-11-08 20:33:04 +00:00
Brian Gaeke
f8cb2419ee
Fix two typos I found in comments.
...
llvm-svn: 9806
2003-11-08 18:12:24 +00:00
Chris Lattner
14b5d5a98e
Update the portability section
...
llvm-svn: 9803
2003-11-08 05:22:09 +00:00
Chris Lattner
699a58d77a
sjlj bug
...
llvm-svn: 9802
2003-11-08 05:18:50 +00:00
Chris Lattner
78396549bc
Fix wierd problems linking C programs which look for symbols in libstdc++.
...
This was due to the 'assert' macro expanding into a function call on some
platforms which could throw. The C++ compiler then added checks for the
exception specifications in these functions, which pulled in the C++ runtime.
This was bad, and the assertions can never fire (the library is now debugged)
so just remove them.
llvm-svn: 9801
2003-11-08 05:13:40 +00:00
Chris Lattner
4491de6e97
Add news from brian
...
llvm-svn: 9800
2003-11-08 04:28:55 +00:00
Misha Brukman
7630785925
First pass at cleaning up LangRef.html: stylesheet-ification, consistent
...
formatting, more strict adherence to HTML 4.01, other misc. cleanups.
llvm-svn: 9799
2003-11-08 01:05:38 +00:00
Misha Brukman
a1eefa40dc
For some reason, LICM and GCSE like to crash the FunctionPassManager when they
...
are being added as FunctionPasses... Sigh.
llvm-svn: 9798
2003-11-08 00:01:39 +00:00
Chris Lattner
59c3985777
Provide a specialization of _Alloc_traits, which allows the G++ runtime to avoid
...
storing an instance of the allocator in each data structure it uses. Yaay.
llvm-svn: 9795
2003-11-07 23:20:56 +00:00
Brian Gaeke
9ef636c698
Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArg
...
still causes a crash. But it's better than before.
llvm-svn: 9794
2003-11-07 21:20:47 +00:00
Misha Brukman
508cc3e7a9
Implement branching to a PC-relative constant (not a BasicBlock).
...
llvm-svn: 9793
2003-11-07 21:07:30 +00:00
Brian Gaeke
85baf8c65a
popStackAndReturnValueToCaller() must advance instruction pointer to normal
...
destination, if returning from an invoke.
Implement 'unwind' instruction.
llvm-svn: 9792
2003-11-07 20:44:58 +00:00
Misha Brukman
3b2343eae9
PreSelection is not optional, it performs a necessary and vital transformation
...
for the Sparc backend: breaking up constant expressions. Thus, we cannot have it
guarded by a conditional, it should never be disabled.
Also, it's now available for the JIT since it is a FunctionPass.
llvm-svn: 9791
2003-11-07 20:33:25 +00:00
Misha Brukman
d7bcd99325
Remove the *BIG UGLY HACK* from the JIT: PreSelection is now a FunctionPass.
...
llvm-svn: 9790
2003-11-07 20:32:08 +00:00
Brian Gaeke
6d145eb65f
Add stub version of unwind support
...
llvm-svn: 9789
2003-11-07 20:07:06 +00:00
Brian Gaeke
a6454d3532
visitCallInst --> visitCallSite.
...
Use visitCallSite to implement both CallInsts and InvokeInsts.
llvm-svn: 9788
2003-11-07 20:04:22 +00:00
Brian Gaeke
a6d48e4db2
Make the operation of visitCallInst() only depend on the CallSite.
...
llvm-svn: 9787
2003-11-07 19:59:08 +00:00
Misha Brukman
560e989585
Completely hacked apart the file and put it back together using stylesheets.
...
llvm-svn: 9786
2003-11-07 19:43:14 +00:00
Misha Brukman
403ff618bc
Actually have a target "#introduction" if we're making a link to it.
...
llvm-svn: 9785
2003-11-07 19:42:44 +00:00
Brian Gaeke
18b59578c9
Use CallSites for call sites, instead of CallInsts. A revolutionary concept.
...
llvm-svn: 9784
2003-11-07 19:26:23 +00:00
Brian Gaeke
f578c05d57
Mention class CallSite
...
llvm-svn: 9783
2003-11-07 19:25:45 +00:00
Brian Gaeke
a730103518
Add a warning about not "new"ing or "delete"ing CallSites
...
llvm-svn: 9782
2003-11-07 19:25:22 +00:00
Misha Brukman
d3af61d883
Added ability to register FunctionPasses as optimizations, with
...
TargetMachine-accepting constructors (thanks to Chris).
llvm-svn: 9781
2003-11-07 18:56:32 +00:00
Misha Brukman
7120c837fb
Make the page footer consistent with the rest of the site.
...
llvm-svn: 9779
2003-11-07 18:11:14 +00:00
Misha Brukman
2c3068026a
Switch to emitting MachineConstantPool the way it was meant to be done.
...
llvm-svn: 9777
2003-11-07 18:06:26 +00:00
Misha Brukman
2133b0513d
Switch to using the standard representation of the constant pool -- namely, the
...
MachineConstantPool. This involved refactoring the two classes involved in
printing out Sparc assembly. In fact, they should share all this code anyway.
llvm-svn: 9776
2003-11-07 17:45:28 +00:00
Misha Brukman
faa42d264f
We accept TargetMachine as a const reference.
...
llvm-svn: 9775
2003-11-07 17:44:18 +00:00
Misha Brukman
bd4a8ed139
PreSelection and PeepholeOpts are now FunctionPasses.
...
llvm-svn: 9774
2003-11-07 17:43:43 +00:00
Misha Brukman
81c748c1e2
* Stop making a global for each constant that cannot live in an instruction;
...
it will be converted to a MachineConstantPool index during instruction
selection
* This is now eligible to become a FunctionPass since it does not have any side
effects outside of the function it is processing.
llvm-svn: 9773
2003-11-07 17:31:22 +00:00
Misha Brukman
bf9ed7ac1f
* Use the MachineConstantPool for storing constants instead of a hash_set;
...
* Do not create new globals for constants!
Also, order #includes as per coding style guide
llvm-svn: 9772
2003-11-07 17:29:48 +00:00
Misha Brukman
c16149d7dd
Use `basename $<` to get just the filename, not full path, for ease of reading.
...
llvm-svn: 9770
2003-11-07 17:26:27 +00:00
Misha Brukman
ad03afcb34
Declare FunctionPasses as such so that they can be used in FunctionPassManager.
...
llvm-svn: 9768
2003-11-07 17:20:18 +00:00
Misha Brukman
53b3d182d1
Declare FunctionPasses as such.
...
llvm-svn: 9767
2003-11-07 17:19:39 +00:00
Chris Lattner
fc42785a60
Add some ctors for this allocator
...
llvm-svn: 9766
2003-11-07 15:20:06 +00:00
Brian Gaeke
65cac90a92
Refactor the return-from-function code into popStackAndReturnValueToCaller().
...
Make external function calls slightly less special; now they get a stack frame.
llvm-svn: 9765
2003-11-07 05:22:49 +00:00
Chris Lattner
34596d7048
Add bugz
...
llvm-svn: 9764
2003-11-07 04:46:56 +00:00
Chris Lattner
cd4f3e601c
Fix a really bad build problem for users who have .o in their build directory!
...
Thanks to Reid Spencer for figuring this out! :)
llvm-svn: 9763
2003-11-07 04:39:53 +00:00
Chris Lattner
5285e9c9a0
Hopefully this will fix PR98
...
llvm-svn: 9762
2003-11-07 00:38:09 +00:00
Chris Lattner
395aef6bbe
Hopefully fix the objdir != srcdir issue
...
llvm-svn: 9761
2003-11-07 00:34:33 +00:00
Misha Brukman
6c91a333ea
* Added a "contents"-like list of questions at the beginning of the file
...
* Use stylsheets. Really, people, work with me here.
* Stop using those silly <dl> and <dt> and whatever else tags
* Close tags
llvm-svn: 9760
2003-11-06 21:55:44 +00:00
Chris Lattner
cd213197dc
fix warnings on sparc
...
llvm-svn: 9759
2003-11-06 21:30:15 +00:00
Chris Lattner
72a4db8b92
Fix warnings building on sparc
...
llvm-svn: 9758
2003-11-06 21:30:05 +00:00
Brian Gaeke
18027874ef
All 'llvmgcc' tests should specify %llvmgcc so that the path is passed
...
in by qmtest.
llvm-svn: 9757
2003-11-06 21:13:45 +00:00
Chris Lattner
2a09659109
No wonder noone can set up LLVMGCCDIR correctly!
...
llvm-svn: 9756
2003-11-06 20:51:45 +00:00
Chris Lattner
dc79f6c776
Add new commandline option
...
llvm-svn: 9755
2003-11-06 20:29:33 +00:00
Chris Lattner
7985d3664d
Add new command line option
...
llvm-svn: 9754
2003-11-06 20:29:25 +00:00
Chris Lattner
38cd27e450
Various cleanups and efficiency improvements
...
llvm-svn: 9753
2003-11-06 19:46:29 +00:00
Chris Lattner
b0a4b49b23
Fix bug: PR93
...
llvm-svn: 9752
2003-11-06 19:18:49 +00:00
Misha Brukman
b4ad4c3d4c
* Make the comment header 80 columns long
...
* Alphabetize #includes
llvm-svn: 9751
2003-11-06 18:06:13 +00:00
Misha Brukman
2b8724acc6
Let's not forget about our friends -- Constant Pool indices.
...
llvm-svn: 9750
2003-11-06 00:04:11 +00:00
Brian Gaeke
6f54518e08
Give this header file an Emacs mode-line.
...
llvm-svn: 9749
2003-11-05 22:13:10 +00:00
Brian Gaeke
1d9515b0a1
Do not assume the first file is a bytecode file. Instead, construct a dummy
...
Module and link things into that.
Also, fix a typo in an error message.
llvm-svn: 9748
2003-11-05 22:13:00 +00:00
Brian Gaeke
31af708ef6
Shorten and correct some function-header comments.
...
Make "verbose" output MUCH nicer. Now it tells you when you are linking a
bytecode file, or an archive, and whether it's because you called it by name,
or because you gave it a -l option, and it says "Trying" before it takes
action and prints a message in the past tense afterwards.
Make LinkFiles not skip the first file in Files.
Make LinkFiles warn you if it can't find a file and LLVM_LIB_SEARCH_PATH is
unset.
llvm-svn: 9747
2003-11-05 22:12:52 +00:00
Chris Lattner
83bc0a06b6
new testcase
...
llvm-svn: 9746
2003-11-05 22:06:03 +00:00
Chris Lattner
4e1b467594
Fix the problem with running cleanups in bugpoint: We were deleting arguments
...
of intrinsic functions, causing the verifier to fail.
llvm-svn: 9745
2003-11-05 21:53:41 +00:00
Chris Lattner
a616c55ba9
Bugpoint no longer has this option
...
llvm-svn: 9744
2003-11-05 21:46:13 +00:00
Chris Lattner
2920100e4d
I hate it when bugpoint is all ready to give me a bytecode file, then crashes
...
in final cleanups. Then you had to run the whole mess again with
-disable-final-cleanups.
This makes bugpoint run the cleanups in a protected environment so that if
they crash, bugpoint itself doesn't crash. This makes things much happier,
implements a FIXME, and gets rid of YABPO (yet another bugpoint option).
llvm-svn: 9743
2003-11-05 21:45:35 +00:00
Chris Lattner
a2e48a82fe
Split the DAE pass into DAE and DAH passes
...
llvm-svn: 9742
2003-11-05 21:43:42 +00:00
Chris Lattner
9e60aced2e
Split behavior into two pieces
...
llvm-svn: 9741
2003-11-05 21:43:02 +00:00
Chris Lattner
debac38f5e
Simplify the performFinalCleanups interface
...
llvm-svn: 9740
2003-11-05 21:15:19 +00:00
Chris Lattner
8055fb3afa
Yet more fixes for constant expr shifts
...
llvm-svn: 9739
2003-11-05 20:43:58 +00:00
Chris Lattner
ba55bd37fe
Further fixes for PR93
...
llvm-svn: 9738
2003-11-05 20:37:01 +00:00
Brian Gaeke
7f3327fc2c
A few handy methods that seem to mesh well with what CallSite already provides.
...
llvm-svn: 9737
2003-11-05 20:25:33 +00:00
Chris Lattner
c3d6f21bbe
no need for endl
...
llvm-svn: 9736
2003-11-05 19:53:32 +00:00
Chris Lattner
b36e8a1a2e
Add support for constant expr shifts
...
llvm-svn: 9735
2003-11-05 19:53:03 +00:00
Misha Brukman
07b385da27
Since this function returns an int, let's actually return something.
...
llvm-svn: 9734
2003-11-05 19:48:05 +00:00
Chris Lattner
51b560602e
New testcase
...
llvm-svn: 9733
2003-11-05 19:43:36 +00:00
Chris Lattner
e225507193
If we're not checking, don't check!
...
llvm-svn: 9732
2003-11-05 19:09:40 +00:00
Chris Lattner
7c94d1171a
Fix flawed logic that was breaking several SPEC benchmarks, including gzip and crafty.
...
llvm-svn: 9731
2003-11-05 17:31:36 +00:00
Misha Brukman
e5b358c829
We know exactly what the value of $< is, so instead of using `basename $<` to
...
get just the filename and not the full path, just use the filename directly.
llvm-svn: 9730
2003-11-05 06:43:36 +00:00
Misha Brukman
8330f2be73
Output only the .y filename, not the full path to it for ease of reading.
...
llvm-svn: 9729
2003-11-05 06:41:14 +00:00