Commit Graph
100 Commits
Author SHA1 Message Date
Chris Lattner 4050f7f6f2 Document new column, remove X86 specific stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7886 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 16:29:06 +00:00
Chris Lattner 9a86a0171f Add llvm tools to path of LLVMGCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7882 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 15:20:52 +00:00
Chris Lattner 960ff04a09 Remove extraneous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7881 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 05:21:30 +00:00
Chris Lattner e3561c23c2 Remove uses of the NonCopyable class, to make the doxygen output look better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7880 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 05:20:06 +00:00
Chris Lattner ad6ba3e071 Revert my last (accidental) checkin, but keep the typeo fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7879 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:56:47 +00:00
Chris Lattner 80df4638fe rename selection library to selectiondag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7878 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:56:09 +00:00
Chris Lattner 79ba7c1aee rename selection directory and library to SelectionDAG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7877 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:55:22 +00:00
Chris Lattner 52cc7e2edd build the new runtime directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7876 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:53:45 +00:00
Chris Lattner 7dc97ff180 Add a bunch of new node types, etc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7875 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:53:16 +00:00
Chris Lattner f4f5f8bcaa Add support for basic blocks, unary/binary unspecs, conditional branches, ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7874 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:52:51 +00:00
Chris Lattner f3c274d4a6 Adjust to new API, add expandCall stub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7873 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:51:59 +00:00
Chris Lattner 51970b2734 Add support for unconditional branches and for emitting JE instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7872 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:50:49 +00:00
Chris Lattner c7df109b6c Ignore dummy register classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7871 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:36:19 +00:00
Chris Lattner b6ef5c860c Add a bunch of new node types, including a new Void dummy register class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7870 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:35:14 +00:00
Chris Lattner 673537e5c0 Add support for nodes with void arguments, like chain nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7869 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:28:04 +00:00
Chris Lattner af06a08584 Make sure to create the directory before we cram a .bc file into it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7864 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 03:02:52 +00:00
Chris Lattner d11df3c205 Adjust level, build things in parallel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7863 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:38:18 +00:00
Chris Lattner 9d6cb9ba25 initial checkin, adjust LEVEL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7862 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:38:06 +00:00
Chris Lattner 1641df43c6 Initial checkin of README
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7861 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:35:13 +00:00
Chris Lattner 443ea946f1 Initial checkin of runtime/GCCLibraries makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7860 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:33:49 +00:00
Chris Lattner edaca0c690 Update readme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7859 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:31:23 +00:00
Chris Lattner da86e6c0b6 Convert libraries into the BYTECODE_LIBRARY style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7858 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:20:32 +00:00
Chris Lattner 6defc76a85 Disable this library for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7857 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:19:43 +00:00
Chris Lattner 9575a18c98 Some of this gets hoisted up to Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7856 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:19:08 +00:00
Chris Lattner 481cc7c79e Implement BYTECODE_LIBRARY support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7855 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:18:35 +00:00
Chris Lattner 20968a2472 Remove extraneous cl:: namespace qualifiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7852 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 22:04:41 +00:00
Chris Lattner 95cc1b39e0 Simplifications to Makefile.common, remove support for Purify since it was
broken by libtoolification anyways, and noone can use it because purify doesn't
support the 64-bit sparc compilers even if it weren't broken!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7850 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 21:10:25 +00:00
Chris Lattner 1679e8205e Disable this support stuff, it doesn't work under linux anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7849 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 20:55:38 +00:00
Chris Lattner 2925592230 Stop annoying warnings about mismatched types with the argument of a free
implement more constant expressions so that 176.gcc compiles with the CBE


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7847 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 19:19:53 +00:00
Chris Lattner 1b9ddd545c I just moved papi to a new directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7846 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 18:59:53 +00:00
Chris Lattner 688506de24 Implement a _REAL_ memory manager for the code generated by the JIT. This
speeds up program execution by 15% pretty consistently for large programs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7845 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 18:35:27 +00:00
Chris Lattner a8e40f54e5 Restore 'nice name' to pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7840 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 14:43:24 +00:00
Chris Lattner 01189952bb Dramatically simplify how -time-passes works.
This also enables -time-passes for FunctionPassManagers, which allows it to
be used for the JIT


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7834 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 05:20:28 +00:00
Chris Lattner 250d91b4bf Fix FIXME by removing FIXME
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7832 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 22:15:04 +00:00
Chris Lattner a4ca41eca7 This file uses stable_sort
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7831 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 21:32:37 +00:00
Chris Lattner eb320c69ed I must have missed these when eliminating the cast to bool cannonicalizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7829 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 20:17:41 +00:00
Chris Lattner aa9c1f13a1 Implement instcombine optimizations:
(A <setcc1> B) logicalop (A <setcc2> B)  -> (A <setcc3> B) or true or false

Where setcc[123] is one of the 6 setcc instructions, and logicalop is one of: And, Or, Xor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7828 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 20:16:26 +00:00
Chris Lattner b5dbd9a798 Add some more tests for: (A <setcc1> B) logicalop (A <setcc2> B)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7827 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 20:13:15 +00:00
Chris Lattner 564a727969 Generalize some of the add tests to allow for reassociation to take place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7825 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 19:01:45 +00:00
Chris Lattner d2ae23979c Add some tests for difficult reassociation cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7824 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 19:01:09 +00:00
Chris Lattner fb5be090f5 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
2003-08-13 16:16:26 +00:00
Chris Lattner 3ccd0fd756 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
2003-08-13 15:52:25 +00:00
Chris Lattner 3ccd17ea2a Implement InstCombine/2003-08-12-AllocaNonNull.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7807 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 05:38:46 +00:00
Chris Lattner 934754bed6 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
2003-08-13 05:33:12 +00:00
Chris Lattner 545513918a 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
2003-08-13 05:27:57 +00:00
Chris Lattner ab04c365b8 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
2003-08-13 04:20:06 +00:00
Chris Lattner e92d2f450a 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
2003-08-13 04:18:28 +00:00
Chris Lattner 48e6079478 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
2003-08-13 02:38:16 +00:00
Chris Lattner 7f2438f170 Mapping directory no longer exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7801 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 02:37:24 +00:00
Chris Lattner 4c7fc1e813 Incorporate mapping library into the sparc library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7800 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 02:28:20 +00:00
Chris Lattner c09f429499 Obsolete file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7799 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 02:27:13 +00:00
Chris Lattner df17af1dc7 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
2003-08-12 21:53:41 +00:00
Chris Lattner e9608e37fc 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
2003-08-12 21:45:24 +00:00
Chris Lattner bb5395b586 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7791 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 21:35:55 +00:00
Chris Lattner dc20a3e7d3 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
2003-08-12 21:22:51 +00:00
Chris Lattner b310196abc New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7789 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 21:20:49 +00:00
Chris Lattner 33fbad7024 Reenable optimized build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7788 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 20:46:50 +00:00
Chris Lattner 6007cb6c4d 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
2003-08-12 20:14:27 +00:00
Chris Lattner e132d95b62 Simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7783 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 19:17:27 +00:00
Chris Lattner 67ca768927 Implement testcases InstCombine/or.ll:test16/test17
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 19:11:07 +00:00
Chris Lattner c6da691cfe New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7781 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 19:10:50 +00:00
Chris Lattner df398f729f Testcase for feature we should support eventually
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7772 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 14:58:08 +00:00
Chris Lattner 42f3372742 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
2003-08-12 05:19:49 +00:00
Chris Lattner 175724f2d3 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
2003-08-12 05:11:12 +00:00
Chris Lattner 6b666e8afe 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
2003-08-12 04:56:42 +00:00
Chris Lattner c12a61463a 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
2003-08-12 04:28:21 +00:00
Chris Lattner c8477960b0 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
2003-08-12 04:17:29 +00:00
Chris Lattner 723915b13e Add support for a bool argty
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7766 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 04:12:42 +00:00
Chris Lattner 7b56ce409f 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
2003-08-11 22:30:51 +00:00
Chris Lattner 00b40943ab 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
2003-08-11 21:30:00 +00:00
Chris Lattner c0bb13dc82 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
2003-08-11 21:29:40 +00:00
Chris Lattner abb215e588 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
2003-08-11 21:28:59 +00:00
Chris Lattner 57fb6ab871 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
2003-08-11 20:32:02 +00:00
Chris Lattner 88118bf787 Add support for the Arg1 argument type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 20:25:52 +00:00
Chris Lattner d59414fc85 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
2003-08-11 20:06:16 +00:00
Chris Lattner 67488a9236 Cygwin apparently works with %'s on registers!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 20:04:57 +00:00
Chris Lattner 2bcee3400f Whoops, accidental checkin. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:35:46 +00:00
Chris Lattner 93c1afacd1 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
2003-08-11 19:35:26 +00:00
Chris Lattner 2b3860faeb 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
2003-08-11 19:34:29 +00:00
Chris Lattner a8f5de3942 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
2003-08-11 18:53:14 +00:00
Chris Lattner 00a61d4fd4 Add .llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 18:01:39 +00:00
Chris Lattner e7e33c0543 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
2003-08-11 15:48:00 +00:00
Chris Lattner 3eda2eb23e 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
2003-08-11 15:47:35 +00:00
Chris Lattner 7c2af6e93a Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:24:02 +00:00
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
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