Commit Graph

2919 Commits

Author SHA1 Message Date
Chris Lattner
30c0fc23c5 Allow setcc operations to have non-bool types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19655 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-18 02:51:41 +00:00
Chris Lattner
80d8a93489 Make methods private, add a method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19634 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-17 17:14:43 +00:00
Chris Lattner
7ece380440 Add methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19627 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-17 02:24:59 +00:00
Chris Lattner
6ae76fcc06 Add comments
Add fields to hold the result type of setcc operations and shift amounts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19618 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 23:59:30 +00:00
Chris Lattner
7e5ee40979 Revamp supported ops. Instead of just being supported or not, we now keep
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19609 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 07:27:49 +00:00
Reid Spencer
8085cff7eb Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19600 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 02:58:39 +00:00
Chris Lattner
638559aaa3 Improve compatiblity with HPUX on Itanium, patch by Duraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19586 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 01:31:31 +00:00
Chris Lattner
3eb223eaf7 Improve compatibility with aCC on HPUX. Patch by Duraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19585 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 01:22:18 +00:00
Chris Lattner
bb97d81cc8 Move some information out of LegalizeDAG into the generic Target interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19581 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 01:10:58 +00:00
Chris Lattner
3e68b41872 Add some helper methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19570 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-15 06:52:18 +00:00
Chris Lattner
859157daee Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19568 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-15 06:17:04 +00:00
Chris Lattner
45554a61f2 Add a new target-independent code generator flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19567 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-15 06:00:32 +00:00
Chris Lattner
60e4878f94 Change CopyFromReg to take and produce a chain node, allowing it to be used
with physregs that are not live across the entire block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19560 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-14 22:37:20 +00:00
Chris Lattner
1cff05c7c2 Start adding some new operators, give IMPLICIT_DEF a chain operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19558 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-14 22:07:46 +00:00
Chris Lattner
79bda7fbe2 Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19540 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-13 23:26:28 +00:00
Chris Lattner
a44f4aeca7 Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19538 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-13 22:58:50 +00:00
Chris Lattner
18c2f13e0f Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19535 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-13 20:50:02 +00:00
Chris Lattner
8a496fcffd Add a new node type, add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19525 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-13 17:58:35 +00:00
Chris Lattner
b18a2f816c New method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19516 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-12 18:37:33 +00:00
Chris Lattner
9ffdfb6bae Update comments to indicate CopyFrom/ToReg take physregs as well as vregs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19514 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-12 18:11:36 +00:00
Reid Spencer
1aa2649fdc Fix the documentation for executeAndWait so the argument comments are
actually attributed to the arguments by doxygen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19473 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-11 06:37:27 +00:00
Chris Lattner
ef36aa75d7 Add MEMSET/MEMCPY/MEMMOVE operations. Fix a really bad bug in the vector
SDNode ctor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19462 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-11 05:56:17 +00:00
Chris Lattner
89a1ed5839 Add support for bottom-up graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19446 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-11 00:24:59 +00:00
Chris Lattner
6e6e3ceb08 Add a helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19442 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-10 23:25:04 +00:00
Chris Lattner
1080b9ee53 Add support for graph operations, and add a viewGraph method to SelectionDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19440 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-10 23:05:53 +00:00
Chris Lattner
ce393a609b Add a helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19439 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-10 23:05:07 +00:00
Jeff Cohen
ecc1cef8bf Apply feedback from Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19432 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-10 04:23:32 +00:00
Jeff Cohen
6e400f76e6 Apply feed back from Chris:
1. Rename createLoaderPass to CreateProfileLoaderPass
  2. Opt shouldn't use the pass registered in CodeGen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19431 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-10 03:56:27 +00:00
Jeff Cohen
1d7b5de7ee Add last four createXxxPass functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-09 20:42:52 +00:00
Jeff Cohen
2611dd4448 Get lib/Analysis/DataStructure to compile with VC++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19412 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-09 04:18:28 +00:00
Chris Lattner
f19ae7df65 Add interfaces to lower varargs and return/frame address intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19406 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-09 00:00:31 +00:00
Jeff Cohen
906b20a1d7 Fix VC++ compilation error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19403 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 22:44:06 +00:00
Jeff Cohen
534927d82d Add even more missing createXxxPass functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 22:01:16 +00:00
Chris Lattner
723a912261 Allow array types to have 64-bit size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19394 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 20:19:27 +00:00
Jeff Cohen
e269a1ac1c Use size_t instead of long to represent memory usage. long is 32 bits
on 64-bit Windows.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19393 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 20:15:57 +00:00
Chris Lattner
190f3ba2aa Adjust prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19387 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 19:57:49 +00:00
Chris Lattner
f26bc8ef48 Silence VS warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19384 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 19:52:31 +00:00
Chris Lattner
d4b1c9a938 Make LowerCallTo more generic and useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19373 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 19:25:39 +00:00
Jeff Cohen
06deda2d9c Add a few more passes to LinkAllPasses.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19371 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 18:15:23 +00:00
Jeff Cohen
bf65268def Add more missing createXxxPass functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19370 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 17:21:40 +00:00
Chris Lattner
1645ed0b93 Add operators for FP -> INT conversions and back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19368 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 08:08:49 +00:00
Chris Lattner
d1fc96499b Add a new SelectionDAG::RemoveDeadNodes method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19344 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 21:08:55 +00:00
Jeff Cohen
39931a3dba Fix include. Too easy to make mistakes like this on Windows :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19343 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 19:21:49 +00:00
Jeff Cohen
bb66a9f960 Get new SelectionDAG stuff building with Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19340 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 15:52:36 +00:00
Jeff Cohen
e89c7c616b But not the identation of THAT line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19328 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:46:40 +00:00
Chris Lattner
c3aae25116 Complete rewrite of the SelectionDAG class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19327 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:46:32 +00:00
Chris Lattner
cc524ca1c1 Common base class for SelectionDAG-based instruction selectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19326 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:46:03 +00:00
Chris Lattner
63b570d49b Initial implementation of the nodes in a SelectionDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19325 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:45:27 +00:00
Chris Lattner
75c2d0a351 First draft of a new Target interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19323 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:44:22 +00:00
Jeff Cohen
b99468d718 Correct indentation levels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19322 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:44:02 +00:00