Commit Graph

8324 Commits

Author SHA1 Message Date
Chris Lattner b9cde76e60 Implement InstCombine/add.ll:test17 & 18
llvm-svn: 8817
2003-10-02 15:11:26 +00:00
Chris Lattner d15f273512 Add new testcases
llvm-svn: 8816
2003-10-02 15:11:09 +00:00
Alkis Evlogimenos 8207a2c079 Change llc command line for register allocators
llvm-svn: 8815
2003-10-02 06:13:19 +00:00
Chris Lattner a9b4c39dd2 fix spleling
llvm-svn: 8814
2003-10-02 05:09:46 +00:00
Chris Lattner 178f3db098 add note about .a files
llvm-svn: 8813
2003-10-02 05:07:23 +00:00
Chris Lattner 3d48250587 Initial checkin of the LLVM 1.0 release notes
llvm-svn: 8812
2003-10-02 04:57:28 +00:00
Alkis Evlogimenos 6e739d0a3c Use std::string::size_type for for ColonPos to stop gcc from giving a warning
llvm-svn: 8811
2003-10-01 22:49:22 +00:00
Chris Lattner 34e1acb5dc Remove obsolete scoped pred and succ iterator typedefs
llvm-svn: 8810
2003-10-01 22:28:39 +00:00
Chris Lattner 607ceecdf4 Use graph traits to perform generic interval construction
llvm-svn: 8809
2003-10-01 22:28:00 +00:00
Chris Lattner fe0a286d6e Add graph traits specializations for intervals
llvm-svn: 8808
2003-10-01 22:27:36 +00:00
Chris Lattner df089a1b77 Amazingly enough, we actually do some stuff around here. Now if we could
just remember to update the open projects list... :)

llvm-svn: 8807
2003-10-01 21:49:55 +00:00
Chris Lattner 909a1abade Make sure to include the "support" directory
llvm-svn: 8806
2003-10-01 21:12:46 +00:00
Alkis Evlogimenos 3dfcbf1317 Revert previous change. For some reason this went into the main branch
llvm-svn: 8805
2003-10-01 19:40:13 +00:00
Alkis Evlogimenos 568e4386e8 Added command line option for linear scan allocator
llvm-svn: 8804
2003-10-01 19:38:10 +00:00
Misha Brukman cda2885499 The comment seems irrelevant as the pass has become a BasicBlock pass.
llvm-svn: 8803
2003-10-01 05:24:50 +00:00
John Criswell ee3632270e Corrected usage synopsis.
Added information regarding additional LLVM passes used, input defaults, and
output defaults.

llvm-svn: 8802
2003-09-30 22:55:44 +00:00
Chris Lattner 1440902484 Make sure to get the definition of getRegisterAllocator
llvm-svn: 8801
2003-09-30 22:24:00 +00:00
Chris Lattner 9c6244dc6c New testcase that was not correctly handled
llvm-svn: 8800
2003-09-30 21:46:23 +00:00
Chris Lattner 56332992c7 This bug is not fixed, but will be in the future eventually
llvm-svn: 8799
2003-09-30 21:31:25 +00:00
Chris Lattner 1656d32e3d new testcase
llvm-svn: 8798
2003-09-30 21:29:27 +00:00
Chris Lattner ddcb81be52 Forward declare a class
llvm-svn: 8797
2003-09-30 20:15:40 +00:00
Chris Lattner 60d6e623ee This got merged into Passes.h
llvm-svn: 8796
2003-09-30 20:15:32 +00:00
Chris Lattner 8b583a229d RegisterAllocation.h is going away
llvm-svn: 8795
2003-09-30 20:15:04 +00:00
Chris Lattner dcb2a25d74 Include the sparc register in this file
llvm-svn: 8794
2003-09-30 20:14:43 +00:00
Chris Lattner 1f8d21e233 include passes.h which defines the interface this file exposes
llvm-svn: 8793
2003-09-30 20:13:59 +00:00
John Criswell 5bbd65ccc6 Changed TestRunner test class so that it replaces %llvmgcc and %llvmgxx
instead of %gcc and %gxx.

llvm-svn: 8792
2003-09-30 19:56:36 +00:00
John Criswell 48a334a76e Removed Makefile for CompileFail tests. They are now run by QMTest and are
located under llvm/test/Regression/C++Frontend.

llvm-svn: 8791
2003-09-30 19:41:15 +00:00
John Criswell 5c3a3d39e9 Adjusted for the new TestRunner test class. This replaces %gcc and %g++ with
the names of the LLVM C and C++ frontends, respectively.

llvm-svn: 8789
2003-09-30 19:28:26 +00:00
John Criswell c6bf1422a9 Added the CXXTest test class.
llvm-svn: 8788
2003-09-30 19:04:08 +00:00
Chris Lattner 264e11c1f5 This makefile is completely wrong, don't even bother to keep it
llvm-svn: 8786
2003-09-30 18:59:24 +00:00
Chris Lattner ef0b4bc573 These tests got moved to test/Programs/SingleSource/Regression/C++/EH
llvm-svn: 8785
2003-09-30 18:57:56 +00:00
Chris Lattner 33c2c8b581 Update comment
llvm-svn: 8783
2003-09-30 18:44:27 +00:00
Chris Lattner 555eaf5bbb Standardize header file comments
llvm-svn: 8782
2003-09-30 18:37:50 +00:00
Chris Lattner a559b209eb Add a file header
llvm-svn: 8781
2003-09-30 18:28:53 +00:00
Chris Lattner 9ce334a52a Remove unused header
llvm-svn: 8780
2003-09-30 18:19:13 +00:00
Chris Lattner 6e14c44402 Fix header comment
llvm-svn: 8779
2003-09-30 18:12:25 +00:00
Misha Brukman e4edb3f3db Doxygen-ified comments.
llvm-svn: 8778
2003-09-30 18:09:32 +00:00
Chris Lattner 09b12e7119 Fix header, remove dead decl
llvm-svn: 8777
2003-09-30 18:06:51 +00:00
Chris Lattner 67efeb9664 Fix header file comment
llvm-svn: 8776
2003-09-30 18:05:30 +00:00
Misha Brukman 21663634c5 * Ordered includes according to LLVM style
* Put function signatures on one line if possible
* Deleted empty comment lines (^//$)
* Deleted braces around single statements
* Deleted space between function call and argument list

llvm-svn: 8775
2003-09-30 17:59:25 +00:00
Chris Lattner 25a0acb379 make the header comment more useful
llvm-svn: 8774
2003-09-30 17:53:30 +00:00
Misha Brukman 143af9cf13 Made code more terse:
* Deleted empty comment lines
* No single begin-braces '{' on a line by themselves

llvm-svn: 8773
2003-09-30 17:51:20 +00:00
Brian Gaeke 167d87443a Add statistic for # of emitWord() calls.
llvm-svn: 8772
2003-09-30 17:49:41 +00:00
Misha Brukman 33b9647a45 Doxygen-ified function comments.
llvm-svn: 8771
2003-09-30 17:42:57 +00:00
Misha Brukman af3b3bdf6d Removed extra space in comments.
llvm-svn: 8770
2003-09-30 17:40:12 +00:00
Chris Lattner f5f4cbb055 Remove initials from source file
llvm-svn: 8769
2003-09-30 17:36:51 +00:00
Misha Brukman a307080d60 Make code more terse:
* Remove extra blank lines
* Delete space between function call and arg list
* Delete non-content comment lines ("//")

llvm-svn: 8768
2003-09-30 17:33:12 +00:00
Chris Lattner edcae8eb38 new testcase distilled from 177.mesa
llvm-svn: 8766
2003-09-30 17:13:34 +00:00
John Criswell ee7ebdc6b2 Added conditional configuration of poolalloc.
llvm-svn: 8765
2003-09-30 16:31:48 +00:00
John Criswell 2b3771ee46 Added the ability to conditionally configure the reopt project if it is checked
out under projects/reopt.

llvm-svn: 8762
2003-09-30 15:55:44 +00:00
Chris Lattner 5ed714d76d New fixed bug, distilled from 252.eon
llvm-svn: 8761
2003-09-30 15:40:25 +00:00
Brian Gaeke 484f2c7442 1. Use better error messages in LinkFiles().
2. I think the caller of LinkFiles() should not ignore a true return value.
   (If you have a good reason why it ought to, feel free to revert
   this. It's just something that's been bugging me for a while.)

llvm-svn: 8760
2003-09-30 14:03:48 +00:00
John Criswell a327eae898 Removed the utils/Makefile file from being copied to the object root tree.
llvm-svn: 8759
2003-09-30 13:52:11 +00:00
Chris Lattner cc83d5f3e2 Update file headers for renamed files.
llvm-svn: 8758
2003-09-30 03:24:28 +00:00
Misha Brukman 5bc6a8fa38 Use the newly abstracted interface for running our tools and gcc.
llvm-svn: 8756
2003-09-29 22:40:52 +00:00
Misha Brukman 34c9610e2d Fixed space issues, code alignment, tabs -> spaces.
llvm-svn: 8755
2003-09-29 22:40:07 +00:00
Misha Brukman b5d41c4ad9 Implementation of the abstraction of running our tools + gcc, taken out of
bugpoint for general usage and enjoyment.

llvm-svn: 8754
2003-09-29 22:39:25 +00:00
Misha Brukman 674f1954bf Abstracted away the process of running our tools + gcc from bugpoint.
llvm-svn: 8753
2003-09-29 22:38:57 +00:00
Misha Brukman 3c1d88acac Tersified and fixed whitespace (tabs -> spaces).
llvm-svn: 8752
2003-09-29 22:37:57 +00:00
Misha Brukman 64adfee893 * Added an interface for how LLEE would communicate with the OS
* Implemented the interface in StorageProxy.c
* Removed the script `llee' as it is now created by the Makefile
* Makefile now compiles a shared object version of the library, but only if
  using gcc-3.3, linking fails under gcc-3.2

llvm-svn: 8751
2003-09-29 22:37:00 +00:00
Misha Brukman b3541d4264 Tersified code:
* Removed space between function name and its argument list
* Removed space between '&' and variable name
* Removed empty comment lines: `//'

llvm-svn: 8750
2003-09-29 22:26:24 +00:00
Chris Lattner 1545d1b6cb update run command
llvm-svn: 8749
2003-09-29 22:17:12 +00:00
Misha Brukman 0575c6c432 * Ordered includes according to LLVM programmers' guide
* Made code layout more verbose: no more '{' on a line by itself
* Pruned extra whitespace

llvm-svn: 8748
2003-09-29 22:16:43 +00:00
Chris Lattner ff06e88ce9 Simplify test, include problem analysis
llvm-svn: 8747
2003-09-29 21:53:04 +00:00
John Criswell 6780a6e3f2 Added Makefiles to llvm/test/Programs/SingleSource/Regression/C++/EH and
llvm/test/Programs/SingleSource/Regression/C++/CompileFail.

llvm-svn: 8746
2003-09-29 21:35:32 +00:00
John Criswell 4f867ea59f Adding Makefiles for llvm/test/Programs/SingleSource/Regression/C++/EH and
llvm/test/Programs/SingleSource/Regression/C++/CompileFail.

llvm-svn: 8745
2003-09-29 21:34:49 +00:00
John Criswell 26ef887bc3 Updated for the new QMTest test suite. Temporary output file is now placed
inside the temporary file directory.

llvm-svn: 8744
2003-09-29 21:21:59 +00:00
Chris Lattner 4a9eeed2ad New testcase, distilled by John
llvm-svn: 8743
2003-09-29 21:18:36 +00:00
John Criswell 3c169b6f31 Added information on input and output filenames.
Added periods to the end of sentence fragments describing options.
Added information to llc about which target architecture is selected for
assembly language code generation.

llvm-svn: 8741
2003-09-29 20:10:08 +00:00
John Criswell bd5850db0c Removed Support directory. It now lives in llvm/support/lib.
llvm-svn: 8739
2003-09-29 16:10:43 +00:00
Chris Lattner 3918d9feaa Check in missing makefile
llvm-svn: 8738
2003-09-29 16:03:01 +00:00
Chris Lattner 6c36cd1921 Initial checkin of makefile for this directory
llvm-svn: 8737
2003-09-29 15:58:16 +00:00
John Criswell f874ea807e Moved code from llvm/lib/Support to llvm/support/lib/Support.
llvm-svn: 8735
2003-09-29 15:02:30 +00:00
John Criswell 292456864d Moved llvm/utils/Burg and llvm/utils/TableGen to llvm/support/tools.
llvm-svn: 8734
2003-09-29 14:52:53 +00:00
John Criswell b438fd7a7a Moved llvm/lib/Support to llvm/support/lib/Support.
Moved llvm/utils/Burg and llvm/utils/TableGen to llvm/support/tools.

llvm-svn: 8733
2003-09-29 14:52:28 +00:00
John Criswell de75736dd8 Updating Makefiles for new location in llvm/support.
llvm-svn: 8732
2003-09-29 14:49:09 +00:00
John Criswell e8a6f79722 Updated Makefiles to reflect new location in llvm/support/tools.
llvm-svn: 8731
2003-09-29 14:48:29 +00:00
John Criswell 1cab4fbd41 Added explanation of where analyze gets its input, where it sends its output,
and how it decides to interpret its input.

llvm-svn: 8730
2003-09-29 14:05:08 +00:00
Misha Brukman f75d52eceb Squelch warnings.
llvm-svn: 8729
2003-09-27 22:26:37 +00:00
John Criswell ac2595a02f Updated these tests so that they use the new temporary directory as opposed
to the old Output directory for temporary files.

llvm-svn: 8728
2003-09-26 20:20:44 +00:00
John Criswell f7dc0f4a66 Moved llvm/test/Programs/SingleSource/Regression around a bit to support
multiple languages.

llvm-svn: 8727
2003-09-26 19:51:42 +00:00
John Criswell 0da9a84b3f Updated to generate temporary files in the temporary directory.
llvm-svn: 8724
2003-09-26 16:43:51 +00:00
John Criswell 75ea0dff68 Added information on how input and output files are selected.
Added information on where files are located by llvm-link.
Added missing options.
Re-worded some stuff so that it (hopefully) sounds better.

llvm-svn: 8723
2003-09-26 16:32:00 +00:00
John Criswell 0bd4d810d4 Removing these tests from the regressions directory.
They now live in llvm/test/Programs/SingleSource/Regression alongside their
UnitTest brethren.

llvm-svn: 8722
2003-09-26 14:58:39 +00:00
John Criswell 4c157a41cc Added llvm/test/Programs/SingleSource/Regression/Makefile.
llvm-svn: 8721
2003-09-26 14:53:17 +00:00
Chris Lattner 4437995826 Just rethrow previous exception instead of making a new one
llvm-svn: 8718
2003-09-26 14:44:52 +00:00
John Criswell 0ca54e0360 Modified the test so that it puts temporary files into the temporary directory.
llvm-svn: 8717
2003-09-26 13:58:44 +00:00
John Criswell 93359ac9e3 Added information about how llvm-as and llvm-dis select the input and output
filenames.
Corrected some typos in the llvm-dis documentation.

llvm-svn: 8716
2003-09-26 02:59:00 +00:00
Chris Lattner 2979307f45 Change the heading of the page to reflect the tool name
llvm-svn: 8715
2003-09-25 19:50:05 +00:00
John Criswell 67d4811dc1 Added an explanation of gccld's behavior when linking in native mode.
Also gives me an excuse to re-commit the file on Tank.

llvm-svn: 8714
2003-09-25 19:14:51 +00:00
John Criswell cef8135734 Added information about the new -native option.
Added information about how object files and libraries are found and loaded.

llvm-svn: 8713
2003-09-25 19:10:25 +00:00
Misha Brukman c2186e3110 To be consistent with the rest of LLVM codebase (and the rest of this file):
* Changed tabs to spaces
* Removed a space between a function call and its arguments (...)

llvm-svn: 8712
2003-09-25 18:10:34 +00:00
John Criswell ca9987ef30 Moved wierdnames.ll to weirdnames.ll. The new name is spelled correctly.
llvm-svn: 8711
2003-09-25 17:44:32 +00:00
John Criswell 0278cc7f19 Made modifications recommended by Chris. Namely:
o Remove stuff that has been done or is now irrelevant.
o Add a reminder to create Release Notes for Release 1.

llvm-svn: 8710
2003-09-25 13:49:37 +00:00
Chris Lattner 1e9402d93d Define the instance variable Buffer, not the automatic variable Buffer.
This was causing us to munmap random stuff, which is obviously bad.

llvm-svn: 8709
2003-09-25 04:13:53 +00:00
Chris Lattner 66a473371f DOn't crash if program calls the null pointer
llvm-svn: 8708
2003-09-24 23:42:58 +00:00
Chris Lattner ce6feda799 Fix alignment problem
llvm-svn: 8707
2003-09-24 22:34:17 +00:00
Chris Lattner fd46711e1a Remove explicit use of BasicBlock::succ_iterator
llvm-svn: 8706
2003-09-24 22:18:35 +00:00
John Criswell 4dec61621b Removed completed items.
Adjusted priorities on currently outstanding items.
Added new items which I think will now have higher priority for Release 1.

llvm-svn: 8705
2003-09-24 22:15:35 +00:00
Misha Brukman 86c8a485d0 Actually assign the string correctly through the std::string pointer.
llvm-svn: 8704
2003-09-24 22:10:47 +00:00
Chris Lattner e317856e0e Use global *_iterator
llvm-svn: 8703
2003-09-24 22:07:33 +00:00
Chris Lattner a940095ae2 Do not use BasicBlock::*_iterator, just use *_iterator itself.
Isn't updating copy and pasted code a joy

llvm-svn: 8702
2003-09-24 22:06:25 +00:00
Misha Brukman c3634809e6 * Eliminate BytecodeBufferReader::Length member variable
* Kill unused ALIN_PTRS #define
* Set the error string if user passed it in to be compatible with former API

llvm-svn: 8701
2003-09-24 22:04:02 +00:00
Chris Lattner 64d88bc788 Do not use BasicBlock::succ_iterator
llvm-svn: 8700
2003-09-24 22:03:22 +00:00
Brian Gaeke 974bc6682e Update head-of-file comment.
llvm-svn: 8699
2003-09-24 18:16:23 +00:00
Brian Gaeke 1542a8b820 Untabify tabs in stuff I've recently added.
Check in my register allocator state-saving code.

llvm-svn: 8698
2003-09-24 18:08:54 +00:00
Brian Gaeke 82585e030c Use getRegClassID() instead of getRegClass()->getID(), since it's there.
Shorten the markSuggestedColorUsable method.
Add a switch for saving reg. alloc. state (coming soon).

llvm-svn: 8697
2003-09-24 17:50:28 +00:00
Brian Gaeke 50364030ca Remove some unused methods of class IGNode.
llvm-svn: 8696
2003-09-24 04:29:52 +00:00
Brian Gaeke aec3e58348 Fix a typo I happened to notice.
Rename include guards in the "usual" manner.

llvm-svn: 8695
2003-09-24 04:09:50 +00:00
Chris Lattner 8560a069f8 Fix bug in previous checkin
llvm-svn: 8694
2003-09-23 22:02:01 +00:00
John Criswell 89f4dcf5bc Added code that ensures that we pass the beginning of the data buffer to
the parsing routines regardless of whether the buffer is re-aligned or not.

llvm-svn: 8693
2003-09-23 21:19:11 +00:00
Chris Lattner 3311c8224b Update email addr
llvm-svn: 8692
2003-09-23 20:59:28 +00:00
John Criswell 8d5d13d69c If we fail to find python or qmtest, give a warning message instead of an
error message.  This should hopefully allow our nightly tester to run, which
does not run the QMTest tests at present.

llvm-svn: 8691
2003-09-23 20:46:32 +00:00
Chris Lattner d7e18989cd Make it detect failed builds better
llvm-svn: 8690
2003-09-23 20:33:04 +00:00
Chris Lattner 295b907cee Fix bug: IndVarsSimplify/2003-09-23-NotAtTop.ll
llvm-svn: 8689
2003-09-23 20:26:48 +00:00
Chris Lattner a4e0f76fb8 new testcase
llvm-svn: 8688
2003-09-23 20:26:38 +00:00
Misha Brukman 427929adfb Fixed spelling.
llvm-svn: 8687
2003-09-23 17:28:11 +00:00
Misha Brukman 84b1140e2c Fix spelling.
llvm-svn: 8686
2003-09-23 17:27:28 +00:00
Misha Brukman 08993c8068 Squelch warning and delete extra space.
llvm-svn: 8685
2003-09-23 17:27:02 +00:00
Misha Brukman 1a74cffdec Stop returning bool and pass Instruction by reference;
return std::auto_ptr and use exceptions

llvm-svn: 8684
2003-09-23 16:17:50 +00:00
Misha Brukman 0c0a882bc3 Suggestions made by Chris:
* Instead of a #define, use inline function
* Fix the name on the #define, errr... now inline function to be more logical:
  it doesn't CHECK the alignment, it PERFORMS the alignment
* To get string name of a Type*, use getDescription(), not getName()

llvm-svn: 8683
2003-09-23 16:15:29 +00:00
Misha Brukman 301f7dfa19 * Group class definitions & implementations together
* Make sure we align the buffer we're given
* Do not let exceptions propagate when the caller asks for a Module*
* Add doxygenified comments to wrapper functions

llvm-svn: 8682
2003-09-23 16:13:28 +00:00
John Criswell 3149448caa Added code that stops the configure script if a needed program is not found.
llvm-svn: 8680
2003-09-23 15:28:52 +00:00
Chris Lattner 6b379da6c3 Move getAnalysisUsage method from header to .cpp file. Add a normal file
header comment

llvm-svn: 8679
2003-09-23 15:13:04 +00:00
Misha Brukman 715fe875bb * Constantify arguments to copy function
* Stop using a #define, make it an inline if statement

llvm-svn: 8678
2003-09-23 15:09:26 +00:00
Misha Brukman 3e18bc1518 Removed no longer used member variable.
llvm-svn: 8677
2003-09-22 23:58:08 +00:00
Misha Brukman d4d259cafb Uppercase the acronym ASCII.
llvm-svn: 8676
2003-09-22 23:50:25 +00:00
Misha Brukman bafce80ba4 Added file header comment.
llvm-svn: 8675
2003-09-22 23:44:46 +00:00
Misha Brukman cd1d0e31f5 * No longer initialize the module, a subclass is more suitable to do this
because it can add a module ID which we do not have at this time.
* Check to see if the module has been initialized when materializing it.

llvm-svn: 8674
2003-09-22 23:44:13 +00:00
Chris Lattner df60fe04ab Update file header for renamed file
llvm-svn: 8673
2003-09-22 23:42:00 +00:00
Misha Brukman d3e4bf17a5 Added doxygen comments for the streaming module provider.
llvm-svn: 8672
2003-09-22 23:40:38 +00:00
Misha Brukman 6e9a3517f2 * Cleaned up code:
- no more passing around a string pointer to set errors
  - no more returning booleans and checking for errors, we use C++ exceptions
* Broke functionality into 2 new classes, one reads from file, one from a stream
* Implemented lazy function streaming - the parser can read in a function at-a-time

llvm-svn: 8671
2003-09-22 23:38:23 +00:00
Misha Brukman 98b719219b Added functions to perform streaming function loading, doxygenified comments.
llvm-svn: 8670
2003-09-22 23:36:33 +00:00
Misha Brukman 9b316ecdc0 Converted tabs to spaces.
llvm-svn: 8669
2003-09-22 23:35:54 +00:00
Misha Brukman 2face45941 Materialize the module before releasing it.
llvm-svn: 8668
2003-09-22 23:35:23 +00:00
Chris Lattner 50ac360a34 Fix bugs in the last change
llvm-svn: 8667
2003-09-22 23:30:59 +00:00
Chris Lattner d6002b8e15 Fix bug: Inline/2003-09-22-PHINodesInNormalInvokeDest.ll
llvm-svn: 8666
2003-09-22 22:35:39 +00:00
Chris Lattner 8f36a47acc new testcase, reduced by bugpoint
llvm-svn: 8665
2003-09-22 22:22:41 +00:00
Chris Lattner 0178d262e6 Fix bug: Inline/2003-09-22-PHINodesInExceptionDest.ll
... by making sure to update PHI nodes to take into consideration the
extra edges we get if we inline a call instruction through an invoke.

llvm-svn: 8664
2003-09-22 21:59:27 +00:00
Chris Lattner 17b9ee45f9 new testcase which crashes the inliner, thanks Bugpoint!
llvm-svn: 8663
2003-09-22 21:58:46 +00:00
Misha Brukman e051f86a3d Credits now go into the top-level CREDITS.TXT
llvm-svn: 8662
2003-09-22 21:57:56 +00:00
Misha Brukman 4ce9dae5b1 Credits are now in top-level CREDITS.TXT
llvm-svn: 8661
2003-09-22 21:57:15 +00:00
Misha Brukman 9672a0bf22 Keep all the contributors in one place, instead of all over the code base.
llvm-svn: 8660
2003-09-22 21:56:08 +00:00
Chris Lattner 2caaaba3e9 Squelch warning
llvm-svn: 8659
2003-09-22 20:33:34 +00:00
Chris Lattner 6954f20e22 Squelch warning
llvm-svn: 8658
2003-09-22 20:27:10 +00:00
Chris Lattner 65d93e208b Minor cleanups:
* Local header file goes at top
 * Remove unneeded #includes
 * Wrap code at 80 columns
 * Declare variables where they are used
 * 'register' is not needed
 * Use 'unsigned' instead of 'int' variables where possible

llvm-svn: 8657
2003-09-22 20:21:34 +00:00
Chris Lattner adb9a912fc new testcase that crashes the C++ frontend, found by John
llvm-svn: 8655
2003-09-22 18:27:20 +00:00
Vikram S. Adve 49cf091005 Fix assertion so it doesn't not trip incorrectly.
llvm-svn: 8650
2003-09-21 07:55:27 +00:00
Brian Gaeke e383a14960 Use C++ math header instead of C version.
llvm-svn: 8648
2003-09-21 03:57:37 +00:00
Brian Gaeke 32cd554853 Erase now-unused prototypes.
llvm-svn: 8647
2003-09-21 02:51:00 +00:00
Brian Gaeke 20c888fa9f Rearrange #includes ... since there are fewer now I guess it's a win.
(I also zapped printMachineCode() and printLabel() at the previous checkin,
but forgot to mention it.)

llvm-svn: 8646
2003-09-21 02:50:21 +00:00
Brian Gaeke 3a0a5fc1b3 Standardize the names of include guards.
llvm-svn: 8645
2003-09-21 02:31:37 +00:00
Brian Gaeke 58dabb4406 Standardize the names of include guards.
Remove more excess whitespace.

llvm-svn: 8644
2003-09-21 02:31:25 +00:00
Brian Gaeke 73d10dc47b Standardize the names of include guards.
Fix typos in file header comment.

llvm-svn: 8643
2003-09-21 02:31:15 +00:00
Brian Gaeke 43593b8cd0 I tried to standardize the formatting and tidy up the huge amount of
excess whitespace a little. Also improved some comments.

llvm-svn: 8642
2003-09-21 02:24:09 +00:00
Brian Gaeke e1061018bf Convert PhyRegAlloc into a proper pass.
PhyRegAlloc.cpp:
 Don't include TargetMachine.h or TargetRegInfo.h, because these are provided
  by PhyRegAlloc.h.
 Merge class RegisterAllocator into class PhyRegAlloc.
 Simplify & move ctor, dtor to PhyRegAlloc.h.
 Make some of PhyRegAlloc's reference members into pointer members,
  so they can be more easily messed with.
 MarkAllocatedRegs() becomes a member method, with fewer args.

PhyRegAlloc.h:
 Include Pass.h, TargetMachine.h and TargetRegInfo.h. Don't declare
  TargetRegInfo forward.
 Give AddedInstrns the obvious clear() method.
 Make some of PhyRegAlloc's reference members into pointer members,
  so they can be more easily messed with.
 Add prototype for markAllocatedRegs().
 Remove unused inline void constructLiveRanges().

llvm-svn: 8641
2003-09-21 01:23:46 +00:00
Chris Lattner 4be7671186 Add prototype
llvm-svn: 8640
2003-09-21 00:28:18 +00:00
Chris Lattner 3c095c79fa Functions reachable from the arguments of unresolvable call nodes should
not have their arguments marked complete

llvm-svn: 8639
2003-09-20 23:58:33 +00:00
Chris Lattner 413b7bde7c The Globals graph must become complete at the end of the BU phase!
llvm-svn: 8638
2003-09-20 23:27:05 +00:00
Chris Lattner 880b9aa10a Do not mark incoming arguments to functions complete if the function is pointed to by a global in the globals graph
llvm-svn: 8637
2003-09-20 22:24:04 +00:00
Chris Lattner 8c1a835806 Make sure to add global variable initializers to the Globals graph!
llvm-svn: 8636
2003-09-20 21:48:16 +00:00
Chris Lattner 71f747ea3d Don't consider incomplete nodes to be typesafe!
llvm-svn: 8635
2003-09-20 21:48:01 +00:00
Chris Lattner cc81b798e4 Remove trivially dead nodes was not removing nodes that were dead due to forwarding!
llvm-svn: 8634
2003-09-20 21:34:07 +00:00
Chris Lattner c8dfbbbf25 Global variables with APPENDING linkage are very important to keep around!
llvm-svn: 8632
2003-09-20 19:00:50 +00:00
Chris Lattner 689b681558 Add special case handling for calloc and realloc
llvm-svn: 8630
2003-09-20 16:50:46 +00:00
Chris Lattner 04d9cb6770 Switch from using CallInst's to represent call sites to using the LLVM
CallSite class.  Now we can represent function calls by invoke instructions
too!

llvm-svn: 8629
2003-09-20 16:34:13 +00:00
Chris Lattner 36b877ae7f Make this work better for constants that aren't necessarily in ANY graph, such as null pointers
llvm-svn: 8628
2003-09-20 16:12:57 +00:00
Chris Lattner 22533bc900 update dox
llvm-svn: 8626
2003-09-20 14:43:16 +00:00
Chris Lattner 5dac64f629 Rename Function::getEntryNode -> getEntryBlock
llvm-svn: 8625
2003-09-20 14:39:18 +00:00
Chris Lattner 21f750fabb Rename getEntryNode -> getEntryBlock()
llvm-svn: 8624
2003-09-20 14:36:49 +00:00
Chris Lattner 4413e4362c Minor cleanups, no functional changes
Rename Function::getEntryNode -> getEntryBlock

llvm-svn: 8623
2003-09-20 14:36:23 +00:00
Chris Lattner da5b9376a2 Cleanup header file
llvm-svn: 8622
2003-09-20 14:35:38 +00:00
Chris Lattner 25963c85e3 Now that the TCE pass passes all of the tests, add it to GCCAS
llvm-svn: 8621
2003-09-20 05:26:22 +00:00
Chris Lattner b6ac976247 Fix a really obvious huge gaping bug, add a comment
llvm-svn: 8620
2003-09-20 05:24:00 +00:00
Chris Lattner 0016085602 Expose the TCE pass
llvm-svn: 8619
2003-09-20 05:14:13 +00:00
Chris Lattner 2e9014cb1b New transformation: tail recursion elimination
llvm-svn: 8618
2003-09-20 05:03:31 +00:00
Chris Lattner 50af7516b0 New testcase
llvm-svn: 8617
2003-09-20 05:02:54 +00:00
Chris Lattner 7e5ca14433 Fix header, fix broken friend decl
llvm-svn: 8616
2003-09-20 03:34:44 +00:00
Chris Lattner 092af3f36e Fix bug: BasicAA/2003-09-19-LocalArgument.ll
llvm-svn: 8615
2003-09-20 03:08:47 +00:00
Chris Lattner 066ccf8848 New testcase that basicaa should be able to handle
llvm-svn: 8614
2003-09-20 03:08:21 +00:00
Chris Lattner 825937df8e Fix file header
llvm-svn: 8613
2003-09-20 02:42:54 +00:00
Chris Lattner 0942bc63a3 Unsquishify
llvm-svn: 8612
2003-09-20 01:23:29 +00:00
Chris Lattner b1fcb2b644 Keep track of the number of typed/untyped memory accesses theyre are in the program
VS: ----------------------------------------------------------------------

llvm-svn: 8611
2003-09-20 01:20:46 +00:00
John Criswell 17c3d4dfc1 New header file for gccld.
llvm-svn: 8610
2003-09-19 20:24:40 +00:00
John Criswell b533bde540 Removed linking functionality from gccld.cpp and moved it to linker.cpp.
Renamed functions that were all lower-case.
Moved functions from util.cpp into linker.cpp or gccld.cpp.
Removed util.h and created gccld.h.
Refactored the linker functionality in linker.cpp so that it is easier to
follow, easier to modify, and it's library/object file search behavior is
easier to understand and document.
Added code to include library paths when doing native linking, but this
causes problems and is currently #ifdef'd out.

llvm-svn: 8609
2003-09-19 20:24:23 +00:00
Chris Lattner 3284ed725a Reject "llvm." as a function name
llvm-svn: 8608
2003-09-19 19:31:41 +00:00
Chris Lattner 2da29177ba Implement InstCombine/and.ll:test(15|16)
llvm-svn: 8607
2003-09-19 19:05:02 +00:00
Chris Lattner d441d407cf Two new tests for shifts followed by ands
llvm-svn: 8606
2003-09-19 19:04:43 +00:00
Chris Lattner ba1cb38c06 pull a large nested conditional out into its own function
llvm-svn: 8605
2003-09-19 17:17:26 +00:00
Chris Lattner dbba189f15 Implement InstCombine/add.ll:test(15|16)
llvm-svn: 8604
2003-09-19 15:35:42 +00:00
Chris Lattner def041c533 New testcases
llvm-svn: 8603
2003-09-19 15:33:46 +00:00
Chris Lattner bf38b842ba a bitfield stress test to exercise various parts of the front-end.
llvm-svn: 8602
2003-09-19 05:22:10 +00:00
John Criswell a8391af2c4 Changed the empty rule for .h files. The rule needs an empty command so that
Make actually uses it to "regenerate" header files that have been
moved/removed.

llvm-svn: 8600
2003-09-18 18:37:08 +00:00
Brian Gaeke 7af0df0015 Fix a typo in Sparc.cpp.
Update names of some pass creator fns in addPassesToEmitAssembly().
FunctionInfo is gone.

llvm-svn: 8599
2003-09-18 17:37:46 +00:00
Brian Gaeke 310b1d899a Rename the pass creator fn to mimic the other creator fn names.
llvm-svn: 8598
2003-09-18 17:37:35 +00:00
Brian Gaeke 24e706c1ac Fix (and properly doxygenify) some comments. Incorporate
functionality of FunctionInfo pass as doFinalization method.
Rename pass to match names of other passes like it.
Rename the pass creator fn to mimic the other creator fn names.
Include StringExtras for utostr().
Make symbol prologue/epilogue stuff redundant with
 EmitBytecodeToAssembly, in preparation for refactoring.

llvm-svn: 8597
2003-09-18 17:37:25 +00:00
Brian Gaeke b4aa604093 Make the symbol prologue/epilogue stuff redundant with MappingInfo, in
preparation for refactoring.
Rename the pass creator fn to mimic the other creator fn names.

llvm-svn: 8596
2003-09-18 17:37:14 +00:00
John Criswell 8ecc30249f Refactored gccld into three C++ source files.
Added code ignore bytecode link failures when generating native code.
Moved native code and bytecode generation out of the main() function.

llvm-svn: 8595
2003-09-18 16:22:26 +00:00
Misha Brukman 3d72faddeb Minimal implementation of the abstract ModuleProvider interface.
llvm-svn: 8594
2003-09-18 16:17:06 +00:00
Misha Brukman 1d33258b99 Abstract interface for module providers, e.g. streaming bytecode reader.
llvm-svn: 8593
2003-09-18 16:16:32 +00:00
Chris Lattner 651524a228 Document new column
llvm-svn: 8589
2003-09-17 22:02:49 +00:00
Misha Brukman 02fe6b7683 Fixed spelling.
llvm-svn: 8588
2003-09-17 21:34:23 +00:00
John Criswell a2748c267b Replaced the call to strdup() with a new operator followed by a strcpy().
This should prevent calls to the new oerator and malloc.

llvm-svn: 8587
2003-09-17 19:14:41 +00:00
John Criswell 0217b1beb3 Added the use of the const keyword.
Have gccld find the path to llc and gcc instead of having the library do it.

llvm-svn: 8586
2003-09-17 19:04:22 +00:00
John Criswell 74c89470d3 In ExecWait(), made the child process exit if it can't execve() the new
program.
Added the use of const (which compiles and is hopefully correct).
Added comments.

llvm-svn: 8585
2003-09-17 19:02:49 +00:00
Misha Brukman a3fc5d9a35 Added sections about debugging mis-compilations and incorrect code generation.
llvm-svn: 8584
2003-09-17 18:51:47 +00:00
Misha Brukman 435404818b Do not put DEBUG() guard around error condition; this must *always* be printed.
llvm-svn: 8583
2003-09-17 18:21:48 +00:00
Misha Brukman 041bded97e Fix the flag on `rm' to properly do a recursive deletion.
llvm-svn: 8582
2003-09-17 18:20:35 +00:00
Chris Lattner a28e1f281a Change FunctionInfo from being an annotation put on Functions to be
something which is mapped from functions.

llvm-svn: 8580
2003-09-17 17:26:22 +00:00
John Criswell f22d845bd7 Removed the use of the environ variable and instead use the environment array
passed into main().  This may (or may not) be more portable, but it looks
nicer.
Added functions to copy the environment array and modify the copy, thus
preserving the environment.
Switched from using system() to using ExecWait().
The code now removes the assembly file generated when using the -native option.
Fixed the remove_env() function: The previous revision truncated the
environment variable list.  This version just zaps the variable as intended.

llvm-svn: 8579
2003-09-17 15:20:51 +00:00
John Criswell f13ec35fe1 Added the ExecWait() function.
llvm-svn: 8578
2003-09-17 15:14:25 +00:00
John Criswell 9a99ed1992 Added the ExecWait() function. It executes a program with the specified
arguments and environment.
Perhaps it should be merged with the RunProgramWithTimeout function, but I'd
want to allow it to inherit the parent process's stdin and stdout.
I'll save that for a rainy day...

llvm-svn: 8577
2003-09-17 15:13:59 +00:00
Chris Lattner 457a95bdc8 fix misspelling analyse -> analyze
llvm-svn: 8576
2003-09-17 15:00:45 +00:00
John Criswell 9bcdda3588 Renamed the link page to llvmlink.html
Added initial pages for the extract and llvm-link commands.
Reworded the description of the -load option for analyze to hopefully make it
more clear.

llvm-svn: 8575
2003-09-17 14:11:24 +00:00
Chris Lattner 2ae6b11415 new old testcase
llvm-svn: 8574
2003-09-17 05:00:56 +00:00
Chris Lattner 8552e7c6df Use new method
llvm-svn: 8573
2003-09-17 05:00:07 +00:00
Chris Lattner c1b1651210 Change the semancics of the dropallrefs method
llvm-svn: 8572
2003-09-17 04:58:59 +00:00
Chris Lattner efc07b7fde Add new deleteBody method
llvm-svn: 8571
2003-09-17 04:58:43 +00:00
John Criswell 1997a34e26 Added the -native option.
With this option, gccld links the program into LLVM bytecode and a native code
binary.  This allows llvmgcc to correctly tell GNU configure scripts when
things aren't defined properly (because the native link will fail).

llvm-svn: 8570
2003-09-16 21:27:35 +00:00
John Criswell af5e2e40ee Updated the name of the linker to llvm-link.
This should fix the MultiSource tests.

llvm-svn: 8569
2003-09-16 20:02:22 +00:00
Chris Lattner 39f398b50d Fix bug raising allocations whose call sites were invoke instructions.
Thanks to brg for tracking down the problem so precisely!

llvm-svn: 8568
2003-09-16 19:42:21 +00:00
Chris Lattner ec6d7a6df3 This is effectively a complete rewrite of the globaldce algorithm, resulting
in it being both shorter and more effective.  It no longer depends on the
callgraph, so one FIXME has been fixed.

Additionally, this pass was not able to delete recursive (but dead) functions
if they were pointed to by global variables which were also dead.  In fact
this pass had a lot of problems deleting functions which were only pointed
to by dead globals and other stuff.

Fixing this means that the entire EH library should be stripped away now from
programs that don't use sjlj or exceptions.

llvm-svn: 8567
2003-09-16 19:27:31 +00:00
Brian Gaeke 6d069fcd49 Add missing apostrophe. It's been bugging me for years.
No really, years.

llvm-svn: 8566
2003-09-16 18:00:35 +00:00
John Criswell c513f695a4 Regenerated configure with Misha's changes.
Now link is llvm-link and things are alphabetized.

llvm-svn: 8565
2003-09-16 15:54:19 +00:00
Brian Gaeke 666b18f1a6 Fix typo in comment. Take out some random whitespace.
(Partial merge from my working file)

llvm-svn: 8564
2003-09-16 15:38:05 +00:00
Misha Brukman f915d9e238 These transitional scripts are no longer necessary, no one should have `as' or
`dis' anymore.

llvm-svn: 8563
2003-09-16 15:37:32 +00:00
Brian Gaeke c8a9ec01b6 Edit comment for accuracy
llvm-svn: 8562
2003-09-16 15:36:50 +00:00
Chris Lattner d63ea11a0c Remove obsolete -abort-on-exception flag from LLI
llvm-svn: 8561
2003-09-16 15:35:14 +00:00
Chris Lattner 60c4583f2f Remove obsolete option
llvm-svn: 8560
2003-09-16 15:34:36 +00:00
Misha Brukman c08758a5b3 Fixed spelling & grammar.
llvm-svn: 8559
2003-09-16 15:31:46 +00:00
Misha Brukman edf4bab190 Renamed `as' => `llvm-as', `dis' => `llvm-dis', `link' => `llvm-link'.
llvm-svn: 8558
2003-09-16 15:29:54 +00:00
Misha Brukman 145e176d2f `link' is now `llvm-link'. Also alphabetized the tools for easy reference.
llvm-svn: 8557
2003-09-16 15:22:55 +00:00
Misha Brukman c6547505e6 `link' is now `llvm-link'.
llvm-svn: 8556
2003-09-16 15:21:52 +00:00
Misha Brukman df8eee614c `link' has become `llvm-link'.
llvm-svn: 8555
2003-09-16 15:21:21 +00:00
Vikram S. Adve 256fc40375 Fix longjmp case so that, along with the call to abort(), we also
generate the appropriate CallArgsDescriptor and tmp. virtual regs.

llvm-svn: 8554
2003-09-16 05:56:22 +00:00
Vikram S. Adve 8579a9a38c Add flag to control whether or not delay slots are filled during
instruction scheduling (this is off by default).

llvm-svn: 8553
2003-09-16 05:55:15 +00:00
John Criswell 67fdd43bff Allow multiple object trees to use the source tree tests at once by
using a QMTEST_CLASS_PATH local to the object tree.
Add the gui target to start the QMTest gui (saves writing a few lines of
documentation too).	:)

llvm-svn: 8552
2003-09-16 02:59:26 +00:00
John Criswell e84478afd9 Have the configure script put llvm.py into the object root.
The QMTest program can then use that as the location for loading test and
resource class, thus compiling the Python code into the object root as
desired.

llvm-svn: 8551
2003-09-16 02:12:45 +00:00
Chris Lattner 6721f0e72c Put llvm .bc files into the BytecodeObj subdirectory instead of the Bytecode
subdirectory.  This prevents the 'make clean' rule from removing lib/Bytecode

llvm-svn: 8550
2003-09-15 22:17:02 +00:00
John Criswell dd49d8c669 QMTest test and resource classes are always register before running the tests.
This ensures that any python bytecode generated by another platform is
replaced with new pythong bytecode before the tests begin.

Perferably, a better method will be implemented in the next few weeks.

llvm-svn: 8549
2003-09-15 21:54:49 +00:00
John Criswell ea93bb4a9c Removing Makefiles. Regression tests are now run by QMTest.
llvm-svn: 8548
2003-09-15 20:21:38 +00:00
John Criswell 0638e4d64a Removing Makefile. The QMTest program now handles the running of these tests.
llvm-svn: 8547
2003-09-15 20:18:06 +00:00
John Criswell 609e61b389 Removed llvm/tools/as, llvm/tools/dis, and runtime/GCCLibraries/libexception.
llvm-svn: 8546
2003-09-15 20:12:48 +00:00
Misha Brukman e0544398dd Renamed `as' => `llvm-as', `dis' => `llvm-dis', `link' => `llvm-link'.
llvm-svn: 8545
2003-09-15 20:04:28 +00:00
Misha Brukman 2d81216d45 Renamed `as' => `llvm-as', `dis' => `llvm-dis'.
llvm-svn: 8544
2003-09-15 20:02:53 +00:00
Chris Lattner ef6a55b95e Fix building outside the srcdir, again
llvm-svn: 8543
2003-09-15 19:22:36 +00:00
Chris Lattner 3e61694d43 Fix building into a different obj directory
llvm-svn: 8542
2003-09-15 19:20:11 +00:00
Misha Brukman cf0c744c42 `link' is being renamed to `llvm-link'.
llvm-svn: 8541
2003-09-15 18:34:34 +00:00
John Criswell f6778b68c2 Modified the checks slightly so that one can re-configure LLVM without
having to do a "make distclean" when building in the source directory.

llvm-svn: 8540
2003-09-15 17:19:42 +00:00
John Criswell 22107a75d6 Added code that verifies that the source directory has not been configured
already.  This should help prevent strange errors from happening, but will
make re-configuring the source directory more difficult when it is shared with
the object directory.

llvm-svn: 8539
2003-09-15 17:04:06 +00:00