Commit Graph

7168 Commits

Author SHA1 Message Date
Chris Lattner c914a4847b add support for more nodes
llvm-svn: 7724
2003-08-11 15:23:05 +00:00
Misha Brukman 6a8d5b8186 Put printouts of acquired patterns under the DEBUG() guard, fixed spelling.
llvm-svn: 7723
2003-08-11 15:16:12 +00:00
Chris Lattner e5b80dfdf1 Until the pattern matching instruction selector is finished, enable debug output from it
llvm-svn: 7722
2003-08-11 15:11:01 +00:00
Chris Lattner 603e0076c0 Fix handling of 'free' if it has absolutely no prototype
llvm-svn: 7721
2003-08-11 15:05:08 +00:00
Chris Lattner f458b7dd3b Include the new selection library for the X86 target
llvm-svn: 7720
2003-08-11 14:59:53 +00:00
Chris Lattner e61db425e8 Add support for a pattern matching instruction selector. This is still in
the early implementation phases, so it is disabled by default

llvm-svn: 7719
2003-08-11 14:59:22 +00:00
Chris Lattner 2c2062cdba Build the SelectionDAG library
llvm-svn: 7718
2003-08-11 14:57:48 +00:00
Chris Lattner 600d308853 Initial checkin of SelectionDAG implementation. This is still rough and
unfinished

llvm-svn: 7717
2003-08-11 14:57:33 +00:00
Chris Lattner 963e822148 Initial checkin of SelectionDAG header file
llvm-svn: 7716
2003-08-11 14:56:26 +00:00
Chris Lattner 254980008b Add full support for code generating expanders!
This includes support for referencing named arguments.

llvm-svn: 7715
2003-08-10 23:51:52 +00:00
Chris Lattner 1bce0f268b Implement autopromotion of leaf trees from arguments to nodes of their own,
making it easier to write patterns without lots of extraneous parens

llvm-svn: 7714
2003-08-10 22:38:36 +00:00
Chris Lattner 3859c9a8db Implement correct parsing, representation, and printing of DAG argument names
Implements testcase TableGen/TreeNames.td

llvm-svn: 7713
2003-08-10 22:14:13 +00:00
Chris Lattner 4eaf72fc3b Recognize $foo as a variable
llvm-svn: 7712
2003-08-10 22:04:25 +00:00
Chris Lattner ba2cf32f00 New testcase
llvm-svn: 7711
2003-08-10 22:02:44 +00:00
Chris Lattner 5223d51aac Implement real code emission, at least for Instruction patterns,
next up: support for expanders

llvm-svn: 7710
2003-08-10 21:54:43 +00:00
Chris Lattner 0e00f36924 First cut at emitting the reducer. This reducer just prints out the patterns
selected, but it seems to work great!

llvm-svn: 7709
2003-08-10 20:34:13 +00:00
Chris Lattner 3e2e0fb7ee Make imm be a leaf instead of a nonterminal
llvm-svn: 7708
2003-08-10 19:51:16 +00:00
Chris Lattner d2ec0bd8f0 Finish the matcher!
llvm-svn: 7707
2003-08-10 19:50:51 +00:00
Chris Lattner 12a19fda99 Add new function
llvm-svn: 7706
2003-08-10 19:50:32 +00:00
John Criswell 8aba798388 Removed information on the Pool Allocator as it is no longer available.
Fixed a spelling error.

llvm-svn: 7705
2003-08-08 22:46:30 +00:00
John Criswell 6274b71eb2 Added a FAQ about how to clean the directory if it fails to build after an
update.

llvm-svn: 7704
2003-08-08 22:43:39 +00:00
John Criswell 4135b21377 Updated for the 1.1 pre-release.
Attempted to explain how OBJ_ROOT=. and OBJ_ROOT=`pwd` are not the same thing.

llvm-svn: 7703
2003-08-08 22:36:30 +00:00
Chris Lattner 575288e02d This implements a large amount of the matcher, in fact, all of it except for one bug
llvm-svn: 7702
2003-08-08 22:29:23 +00:00
Chris Lattner 1ac45ba538 Emit the first half of the instruction selector.
llvm-svn: 7701
2003-08-08 16:30:10 +00:00
Misha Brukman 3f0385d424 Chomped spurious blank lines.
llvm-svn: 7700
2003-08-08 15:37:35 +00:00
Chris Lattner 4d8ba42bc4 Finish implementation of nonterminal instantiation.
Tree patterns are now, finally, ready to use!

llvm-svn: 7699
2003-08-07 23:16:20 +00:00
Chris Lattner fe64759b2c Add new method to get a value type as a string
llvm-svn: 7698
2003-08-07 23:15:21 +00:00
Chris Lattner 245b525551 * Fix <>'s in code to be &lt;&gt;'s
* Add section describing how we prefer #includes to be ordered

llvm-svn: 7697
2003-08-07 21:45:47 +00:00
Misha Brukman 1b7a238f3f File-related functions moved to FileUtilities.h .
llvm-svn: 7696
2003-08-07 21:42:28 +00:00
Misha Brukman c231c0889e close() requires "unistd.h" .
llvm-svn: 7695
2003-08-07 21:35:41 +00:00
Misha Brukman e4d58ec261 Doxygen-ify the comments by using '///' instead of '//'.
llvm-svn: 7694
2003-08-07 21:34:25 +00:00
Misha Brukman b02e413f65 Remove references to `bugpoint' from the now-generic system utilities.
llvm-svn: 7693
2003-08-07 21:33:33 +00:00
Chris Lattner b8f72991a6 Completely remove mention of the correlated branch elimination pass. It has
bugs and needs to be reworked anyway.

llvm-svn: 7692
2003-08-07 21:30:12 +00:00
Misha Brukman 3581f8542d Moved removeFile() and getUniqueFilename() into FileUtilities.
llvm-svn: 7691
2003-08-07 21:28:50 +00:00
Misha Brukman 250bf3674c * The possessive third-person singular has no apostrophe (its)
* Grouped header files to fit with the LLVM standard
* Fit code into 80 columns

llvm-svn: 7690
2003-08-07 21:23:52 +00:00
Misha Brukman 0c2305b110 Re-grouped and alphabetized headers for easier reading and cleaner style.
llvm-svn: 7689
2003-08-07 21:19:30 +00:00
Misha Brukman 83d52f3c36 Fixed path for SystemUtils.h and a few code cleanups.
llvm-svn: 7688
2003-08-07 21:05:13 +00:00
Misha Brukman e722e4ea49 Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.
llvm-svn: 7687
2003-08-07 21:04:42 +00:00
Chris Lattner 19630d41f8 Implement type-inference/checking for non-terminal references
llvm-svn: 7686
2003-08-07 21:02:56 +00:00
Chris Lattner acf3dbe0c5 Rename all of the "Process" methods to be "read" methods, start the Instantiate method
llvm-svn: 7685
2003-08-07 20:42:23 +00:00
Chris Lattner ca89a11494 Add support for "cast" nodes, which are required when there is not enough information
to infer type type of all nodes, e.g. (ret imm)

llvm-svn: 7684
2003-08-07 19:59:42 +00:00
Chris Lattner bd1ffb4ea1 Use the new version of isSubClassOf
llvm-svn: 7683
2003-08-07 19:42:14 +00:00
Chris Lattner c6793425e3 Add and use a new method
llvm-svn: 7682
2003-08-07 19:41:59 +00:00
Chris Lattner 9b759739ef Cleanup and reorganize code, no functional changes
llvm-svn: 7679
2003-08-07 19:28:55 +00:00
Chris Lattner b6629063ec Read in expanders too
llvm-svn: 7678
2003-08-07 19:21:10 +00:00
Chris Lattner a63e04482f Continued evolution of the selector emitter: Represent instruction patterns
as first class objects

llvm-svn: 7677
2003-08-07 19:12:24 +00:00
Misha Brukman 1fe74d144b Implement LLVM intrinsics `llvm.setjmp' and `llvm.longjmp' as follows:
* setjmp() simply returns 0
* longjmp() simply calls abort()

llvm-svn: 7676
2003-08-07 15:43:46 +00:00
Vikram S. Adve da92f366c7 Fix assertion in MachineInstr::substituteValue().
llvm-svn: 7675
2003-08-07 15:01:48 +00:00
Vikram S. Adve 6e4a358f72 Fix sanity-checking in 'maskUnsigned' code to be more precise:
use or def-and-use operands can be substituted after one def-only
operand has been substituted.

llvm-svn: 7674
2003-08-07 15:01:26 +00:00
John Criswell 449670a8f7 Fixed a segfault in gccld.
The original code does not work because the value from WorkList.end() is
invalidated once WorkList.erase() is called.  To ensure proper functionality,
we must ensure that WorkList.erase() is always called before WorkList.end().

llvm-svn: 7673
2003-08-07 14:43:13 +00:00