Commit Graph

9357 Commits

Author SHA1 Message Date
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