Chris Lattner
|
b84fe1c636
|
Add patterns for multiply, and, or, and xor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7725 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 15:23:25 +00:00 |
|
Chris Lattner
|
622003fd74
|
add support for more nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7724 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 15:23:05 +00:00 |
|
Misha Brukman
|
91f2e9aa08
|
Put printouts of acquired patterns under the DEBUG() guard, fixed spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7723 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 15:16:12 +00:00 |
|
Chris Lattner
|
2aa3a66fb1
|
Until the pattern matching instruction selector is finished, enable debug output from it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7722 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 15:11:01 +00:00 |
|
Chris Lattner
|
1f28e8ce4d
|
Fix handling of 'free' if it has absolutely no prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7721 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 15:05:08 +00:00 |
|
Chris Lattner
|
4c08840e4b
|
Include the new selection library for the X86 target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7720 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 14:59:53 +00:00 |
|
Chris Lattner
|
ac0c8680ad
|
Add support for a pattern matching instruction selector. This is still in
the early implementation phases, so it is disabled by default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7719 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 14:59:22 +00:00 |
|
Chris Lattner
|
fa7ed53f32
|
Build the SelectionDAG library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7718 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 14:57:48 +00:00 |
|
Chris Lattner
|
78ec311bd5
|
Initial checkin of SelectionDAG implementation. This is still rough and
unfinished
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7717 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 14:57:33 +00:00 |
|
Chris Lattner
|
cacf462915
|
Initial checkin of SelectionDAG header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7716 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-11 14:56:26 +00:00 |
|
Chris Lattner
|
053a205d63
|
Add full support for code generating expanders!
This includes support for referencing named arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7715 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 23:51:52 +00:00 |
|
Chris Lattner
|
990db46e9a
|
Implement autopromotion of leaf trees from arguments to nodes of their own,
making it easier to write patterns without lots of extraneous parens
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7714 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 22:38:36 +00:00 |
|
Chris Lattner
|
91290d7e9a
|
Implement correct parsing, representation, and printing of DAG argument names
Implements testcase TableGen/TreeNames.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7713 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 22:14:13 +00:00 |
|
Chris Lattner
|
fb9ea58eb1
|
Recognize $foo as a variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7712 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 22:04:25 +00:00 |
|
Chris Lattner
|
a4a53a5b93
|
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7711 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 22:02:44 +00:00 |
|
Chris Lattner
|
094ec50a28
|
Implement real code emission, at least for Instruction patterns,
next up: support for expanders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7710 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 21:54:43 +00:00 |
|
Chris Lattner
|
616700402a
|
First cut at emitting the reducer. This reducer just prints out the patterns
selected, but it seems to work great!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7709 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 20:34:13 +00:00 |
|
Chris Lattner
|
f8dfa6ff9b
|
Make imm be a leaf instead of a nonterminal
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7708 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 19:51:16 +00:00 |
|
Chris Lattner
|
9552b8c159
|
Finish the matcher!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7707 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 19:50:51 +00:00 |
|
Chris Lattner
|
b72fb7ef75
|
Add new function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7706 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-10 19:50:32 +00:00 |
|
John Criswell
|
0c4dcccd59
|
Removed information on the Pool Allocator as it is no longer available.
Fixed a spelling error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7705 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-08 22:46:30 +00:00 |
|
John Criswell
|
3c852b620a
|
Added a FAQ about how to clean the directory if it fails to build after an
update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7704 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-08 22:43:39 +00:00 |
|
John Criswell
|
ef0096f700
|
Updated for the 1.1 pre-release.
Attempted to explain how OBJ_ROOT=. and OBJ_ROOT=`pwd` are not the same thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7703 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-08 22:36:30 +00:00 |
|
Chris Lattner
|
955c1be529
|
This implements a large amount of the matcher, in fact, all of it except for one bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7702 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-08 22:29:23 +00:00 |
|
Chris Lattner
|
6dafd3921d
|
Emit the first half of the instruction selector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7701 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-08 16:30:10 +00:00 |
|
Misha Brukman
|
249d64a14c
|
Chomped spurious blank lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7700 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-08 15:37:35 +00:00 |
|
Chris Lattner
|
ef0ce6a494
|
Finish implementation of nonterminal instantiation.
Tree patterns are now, finally, ready to use!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7699 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 23:16:20 +00:00 |
|
Chris Lattner
|
d3464c19a8
|
Add new method to get a value type as a string
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7698 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 23:15:21 +00:00 |
|
Chris Lattner
|
2e5cbc218c
|
* Fix <>'s in code to be <>'s
* Add section describing how we prefer #includes to be ordered
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7697 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:45:47 +00:00 |
|
Misha Brukman
|
3d9cafa003
|
File-related functions moved to FileUtilities.h .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7696 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:42:28 +00:00 |
|
Misha Brukman
|
da81eca4bb
|
close() requires "unistd.h" .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7695 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:35:41 +00:00 |
|
Misha Brukman
|
f7066c76d2
|
Doxygen-ify the comments by using '///' instead of '//'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7694 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:34:25 +00:00 |
|
Misha Brukman
|
35d402fbba
|
Remove references to `bugpoint' from the now-generic system utilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7693 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:33:33 +00:00 |
|
Chris Lattner
|
23d5724c61
|
Completely remove mention of the correlated branch elimination pass. It has
bugs and needs to be reworked anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7692 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:30:12 +00:00 |
|
Misha Brukman
|
3d1b0c7331
|
Moved removeFile() and getUniqueFilename() into FileUtilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7691 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:28:50 +00:00 |
|
Misha Brukman
|
57d708b122
|
* The possessive third-person singular has no apostrophe (its)
* Grouped header files to fit with the LLVM standard
* Fit code into 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7690 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:23:52 +00:00 |
|
Misha Brukman
|
e49603d79d
|
Re-grouped and alphabetized headers for easier reading and cleaner style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7689 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:19:30 +00:00 |
|
Misha Brukman
|
11c6592daf
|
Fixed path for SystemUtils.h and a few code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7688 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:05:13 +00:00 |
|
Misha Brukman
|
0bd75bb92d
|
Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7687 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:04:42 +00:00 |
|
Chris Lattner
|
5709e512b1
|
Implement type-inference/checking for non-terminal references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7686 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 21:02:56 +00:00 |
|
Chris Lattner
|
ee858d2a83
|
Rename all of the "Process" methods to be "read" methods, start the Instantiate method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7685 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 20:42:23 +00:00 |
|
Chris Lattner
|
90825b4b4b
|
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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7684 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 19:59:42 +00:00 |
|
Chris Lattner
|
ab05e2aa4c
|
Use the new version of isSubClassOf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7683 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 19:42:14 +00:00 |
|
Chris Lattner
|
a40e5ad69f
|
Add and use a new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7682 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 19:41:59 +00:00 |
|
Chris Lattner
|
2b8b2b4aee
|
Cleanup and reorganize code, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7679 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 19:28:55 +00:00 |
|
Chris Lattner
|
b356a24bf1
|
Read in expanders too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7678 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 19:21:10 +00:00 |
|
Chris Lattner
|
f8e9683a33
|
Continued evolution of the selector emitter: Represent instruction patterns
as first class objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7677 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 19:12:24 +00:00 |
|
Misha Brukman
|
b8db66eb17
|
Implement LLVM intrinsics llvm.setjmp' and llvm.longjmp' as follows:
* setjmp() simply returns 0
* longjmp() simply calls abort()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7676 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 15:43:46 +00:00 |
|
Vikram S. Adve
|
2010f7baec
|
Fix assertion in MachineInstr::substituteValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7675 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 15:01:48 +00:00 |
|
Vikram S. Adve
|
97a95bdbdd
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7674 91177308-0d34-0410-b5e6-96231b3b80d8
|
2003-08-07 15:01:26 +00:00 |
|