Brian Gaeke [Wed, 13 Aug 2003 18:16:34 +0000 (18:16 +0000)]
Deconstify parameter to getPointerToFunction().
Run passes on single function (hey, just-in-time compilation!)
instead of the entire module that contains it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7819
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:16:14 +0000 (18:16 +0000)]
In ExecutionEngine::getPointerToGlobal(), throw away const qualifier
on Function * when passing it to getPointerToFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7818
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:15:52 +0000 (18:15 +0000)]
addPassesToJITCompile now takes a FunctionPassManager, to support
function-at-a-time compilation and emission of code.
Separate addPassesToEmitAssembly from addPassesToJITCompile, because
the latter requires you to use FunctionPasses, and the former might
diverge anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7817
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:15:29 +0000 (18:15 +0000)]
Factory methods for FunctionPasses now return type FunctionPass *.
Correct one of the functions' comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7816
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:15:15 +0000 (18:15 +0000)]
Factory methods for FunctionPasses now return type FunctionPass *.
Revert (to v1.55) one of the hunks of Chris's change that messed up the
%-register workaround.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7815
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 16:16:26 +0000 (16:16 +0000)]
Assign arguments different ranks so they get grouped together
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 15:52:25 +0000 (15:52 +0000)]
Implement constant folding of casts from boolean constants to other values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7812
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 13 Aug 2003 15:36:15 +0000 (15:36 +0000)]
Removing the pool allocator from the main CVS tree.
Use the poolalloc module in CVS from now on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 05:38:46 +0000 (05:38 +0000)]
Implement InstCombine/2003-08-12-AllocaNonNull.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 05:33:12 +0000 (05:33 +0000)]
Do not cannonicalize (X != 0) into (cast X to bool)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 05:27:57 +0000 (05:27 +0000)]
Reorganize tests because we no longer cannonicalize X != 0 -> cast X to bool
In fact, we plan to eliminate cast to bool entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 04:20:06 +0000 (04:20 +0000)]
Update test to represent new cannonicalization rules for multiplies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 04:18:28 +0000 (04:18 +0000)]
Change cannonicalization rules: add X,X is represented as multiplies, multiplies
of a power of two are represented as a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7803
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:38:16 +0000 (02:38 +0000)]
Adjust files for move of mapping info stuff into the Sparc directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7802
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:37:24 +0000 (02:37 +0000)]
Mapping directory no longer exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7801
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:28:20 +0000 (02:28 +0000)]
Incorporate mapping library into the sparc library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:27:13 +0000 (02:27 +0000)]
Obsolete file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7799
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 00:30:48 +0000 (00:30 +0000)]
Just incorporating some notes I wrote for myself into a place where they won't
get lost...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7798
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 23:39:08 +0000 (23:39 +0000)]
Make MInst2LVSetBI and MInst2LVSetAI be hash_maps instead of maps.
Add some comments and non-const methods to fix constness problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7797
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 22:22:24 +0000 (22:22 +0000)]
For instructions in a delay slot of another instruction,
we no longer need to find the live-before set of the delayed
branch since that set is now included the live-before/after
set of the instructions in each delay slot. Just assert that instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7796
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 22:19:59 +0000 (22:19 +0000)]
For an instruction with delay slots, mark all live values before
the instruction as being live before/after the delay slot
instructions as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7795
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 12 Aug 2003 22:00:24 +0000 (22:00 +0000)]
Give std::map<BasicBlock *, BasicBlock *> the short name BBMap, because
it's used 7 different times.
Rename `getBackEdges' to `findAndInstrumentBackEdges', for clarity.
Remove some excess whitespace and commented-out code.
Use shorter forms of CallInst ctors.
Do not make `reopt_threshold' visible to the LLVM program, and do not
pass it to the call to `reoptimizerInitialize'. Don't pass the
GlobalVariable representing it to any of our helper methods.
`reopt_threshold' is an internal parameter of the reoptimizer, which
InstLoops does not need to know about.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7794
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:53:41 +0000 (21:53 +0000)]
Allow pulling logical operations through shifts.
This implements InstCombine/shift.ll:test14*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7793
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:45:24 +0000 (21:45 +0000)]
Fix bug: Reassociate/2003-08-12-InfiniteLoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7792
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:35:55 +0000 (21:35 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7791
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:22:51 +0000 (21:22 +0000)]
Right, instcombine cannot remove ((X >> C) << C) if it's signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7790
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:20:49 +0000 (21:20 +0000)]
New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7789
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 20:46:50 +0000 (20:46 +0000)]
Reenable optimized build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 20:14:27 +0000 (20:14 +0000)]
Assign finer grained ranks, make sure to reassociate top-level after reassociating bottom level
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 19:17:27 +0000 (19:17 +0000)]
Simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7783
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 19:11:07 +0000 (19:11 +0000)]
Implement testcases InstCombine/or.ll:test16/test17
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7782
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 19:10:50 +0000 (19:10 +0000)]
New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7781
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 12 Aug 2003 18:51:51 +0000 (18:51 +0000)]
Merged in changes between PRE11_ROOT and LLVM_PRE111 (i.e. the beginning of
the pre-release 1.1 branch and pre-release 1.1.1).
Made the USE_SPEC option work.
Silenced unnecessary error output from the cmp command when checking for
updates to lex/yacc generated files. This fixes a problem where we get error
messages the first time the file is generated.
Fixed the distclean option. It is now in the Makefile (i.e. only runs in the
top level source directory), removes more files, and plays nicely with
external project Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7780
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 12 Aug 2003 17:22:39 +0000 (17:22 +0000)]
Add FunctionPassManager - it's like a PassManager, but it only deals in
FunctionPasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7778
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 15:51:02 +0000 (15:51 +0000)]
Disable emitting LLVM-to-MI maps, by default.
Add -emitmaps options to turn this back on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7774
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 14:58:08 +0000 (14:58 +0000)]
Testcase for feature we should support eventually
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 05:19:49 +0000 (05:19 +0000)]
Fix emission of instructions that directly reference MBBs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 05:11:12 +0000 (05:11 +0000)]
Make LOC count more accurate by not including the tablegen lexer/parser, any .inc files, which are generated by tablegen, nor .lo files which sometimes get picked up from libtool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7770
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 04:56:42 +0000 (04:56 +0000)]
Add support for the Any type. Minor fixes and enhancements for BasicBlock operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 04:28:21 +0000 (04:28 +0000)]
Rename DNVT_bool to DNVT_i1 to be consistent with type system
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7768
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 04:17:29 +0000 (04:17 +0000)]
Add support for basicblocks, setCC instructions, and branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7767
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 04:12:42 +0000 (04:12 +0000)]
Add support for a bool argty
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7766
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 03:04:05 +0000 (03:04 +0000)]
Fix va_arg to generate LDDFi for floating point values, instead of LDXi.
All non-FP cases use LDXi as before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7765
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Tue, 12 Aug 2003 00:45:13 +0000 (00:45 +0000)]
Bug fix: Some nodes pointed to by globals may not be marked incomplete and need to be tracked to find pool arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7763
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Tue, 12 Aug 2003 00:43:23 +0000 (00:43 +0000)]
Minor fix so that the program exits upon a poolfree failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7762
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 22:30:51 +0000 (22:30 +0000)]
It is not an error if a rule does not match, it's just a failed match!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7761
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 22:29:36 +0000 (22:29 +0000)]
Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7760
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 21:30:00 +0000 (21:30 +0000)]
Add basic support for 16 and 32 bit function arguments!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7755
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 21:29:40 +0000 (21:29 +0000)]
add frameidx support
Make load work
Make type inference infer from Arg1 to arg0 as well as from arg0 to arg1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7754
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 21:28:59 +0000 (21:28 +0000)]
Add support for frameidx and literal immediates for instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 20:32:02 +0000 (20:32 +0000)]
Add support for naming the destination of a "set" in a pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 20:25:52 +0000 (20:25 +0000)]
Add support for the Arg1 argument type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 20:06:16 +0000 (20:06 +0000)]
Sort #includes, eliminate #include of "llvm/Type.h" which was redundant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7746
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 20:04:57 +0000 (20:04 +0000)]
Cygwin apparently works with %'s on registers!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7745
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 11 Aug 2003 20:04:57 +0000 (20:04 +0000)]
If we can't find INT64_MAX, set it to a reasonable default value,
instead of printing out an (incorrect) #error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7744
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 19:35:46 +0000 (19:35 +0000)]
Whoops, accidental checkin. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7743
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 19:35:26 +0000 (19:35 +0000)]
Add a new -enable-cygwin-compatible-output argument, which make the output more
consumably by the cygwin assembler. This is really just a nasty hack until we
get real target triple support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 19:34:29 +0000 (19:34 +0000)]
Add support to the mangler for targets which require _'s on global symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7741
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 19:14:20 +0000 (19:14 +0000)]
Added keyword `include', and a FIXME for hex and binary constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7740
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 19:13:12 +0000 (19:13 +0000)]
* Added pointers to the README files in emacs/ and vim/ directories.
* Added slashes to distinguish directories and tools from simple scripts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7739
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 19:10:02 +0000 (19:10 +0000)]
* Added (X)Emacs mode for TableGen description files
* Added README that describes how to use the mode files
* Associated files with .llx extension with llvm-mode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7738
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 11 Aug 2003 19:05:46 +0000 (19:05 +0000)]
Print % signs before register names; turn off "noprefix" mode in gas output.
Fixes test case test/Programs/LLVMSource/2003-08-03-ReservedWordGlobal.ll.
Also: Refactor implicit-uses printing into its own method.
Remove a couple of unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 18:53:14 +0000 (18:53 +0000)]
Geez, this misha guy is a _horrible_ speller. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7736
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 18:45:46 +0000 (18:45 +0000)]
* Added a section describing the hidden gems in llvm/utils
* Converted some tabs to spaces
* Made lines fit within 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7735
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 11 Aug 2003 18:42:47 +0000 (18:42 +0000)]
Register argument to va_start must be marked as defined!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7734
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 18:05:19 +0000 (18:05 +0000)]
tablegen.vim:
* Added keyword `field'
* Keywords get different highlighting than types
* Added a simple attempt at multi-line C-style comments with FIXME
README:
* Added note about symlinking an entire directory ~/.vim/syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 18:01:39 +0000 (18:01 +0000)]
Add .llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7732
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 17:56:08 +0000 (17:56 +0000)]
Added a TableGen syntax highlighting mode for VIM and a README that describes
how to add the functionality to the user's VIM installation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7731
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 15:48:00 +0000 (15:48 +0000)]
Add (ret int) expander so that we can at least write testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7730
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 15:47:35 +0000 (15:47 +0000)]
Don't forget to initializer result field to 0!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7729
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 15:38:50 +0000 (15:38 +0000)]
Converted tabs to spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7728
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 15:30:20 +0000 (15:30 +0000)]
Removed `-debug' so that spurious printouts of patterns are not seen at
compilation time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 15:24:02 +0000 (15:24 +0000)]
Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 15:23:25 +0000 (15:23 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 15:23:05 +0000 (15:23 +0000)]
add support for more nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7724
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 11 Aug 2003 15:16:12 +0000 (15:16 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 15:11:01 +0000 (15:11 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 15:05:08 +0000 (15:05 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 14:59:53 +0000 (14:59 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 14:59:22 +0000 (14:59 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 14:57:48 +0000 (14:57 +0000)]
Build the SelectionDAG library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2003 14:57:33 +0000 (14:57 +0000)]
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
Chris Lattner [Mon, 11 Aug 2003 14:56:26 +0000 (14:56 +0000)]
Initial checkin of SelectionDAG header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 10 Aug 2003 23:51:52 +0000 (23:51 +0000)]
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
Chris Lattner [Sun, 10 Aug 2003 22:38:36 +0000 (22:38 +0000)]
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
Chris Lattner [Sun, 10 Aug 2003 22:14:13 +0000 (22:14 +0000)]
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
Chris Lattner [Sun, 10 Aug 2003 22:04:25 +0000 (22:04 +0000)]
Recognize $foo as a variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 10 Aug 2003 22:02:44 +0000 (22:02 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 10 Aug 2003 21:54:43 +0000 (21:54 +0000)]
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
Chris Lattner [Sun, 10 Aug 2003 20:34:13 +0000 (20:34 +0000)]
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
Chris Lattner [Sun, 10 Aug 2003 19:51:16 +0000 (19:51 +0000)]
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
Chris Lattner [Sun, 10 Aug 2003 19:50:51 +0000 (19:50 +0000)]
Finish the matcher!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7707
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 10 Aug 2003 19:50:32 +0000 (19:50 +0000)]
Add new function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7706
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 8 Aug 2003 22:46:30 +0000 (22:46 +0000)]
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
John Criswell [Fri, 8 Aug 2003 22:43:39 +0000 (22:43 +0000)]
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
John Criswell [Fri, 8 Aug 2003 22:36:30 +0000 (22:36 +0000)]
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
Chris Lattner [Fri, 8 Aug 2003 22:29:23 +0000 (22:29 +0000)]
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
Chris Lattner [Fri, 8 Aug 2003 16:30:10 +0000 (16:30 +0000)]
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
Misha Brukman [Fri, 8 Aug 2003 15:37:35 +0000 (15:37 +0000)]
Chomped spurious blank lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Aug 2003 23:16:20 +0000 (23:16 +0000)]
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