Commit Graph

96 Commits

Author SHA1 Message Date
Sumant Kowshik
87a991eea3 Implementation of Equivalence Classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:44:25 +00:00
Chris Lattner
1ff1da7ac9 dyn_cast_or_null should work just the same as dyn_cast does
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:07:48 +00:00
Chris Lattner
b3b729b69b Add support for a new "CommaSeparated" modifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:25:57 +00:00
Chris Lattner
806cebc562 Updates to match recent timer updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6069 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 20:44:22 +00:00
Chris Lattner
011ce8d2e4 Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5862 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:53 +00:00
Chris Lattner
ea0f49e524 Allow dyn_cast to operate on things that aren't OBVIOUSLY a pointer type.
These things can be converted to a pointer, like ilist_iterators


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5861 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:28 +00:00
Chris Lattner
6f2ec7f59d Update comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5752 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:40:39 +00:00
Chris Lattner
8fb1fe16b7 Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-17 18:11:27 +00:00
Chris Lattner
24e03d32ff Fix #endif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5615 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 04:40:35 +00:00
Chris Lattner
a430bc7569 Add support for the slist extension
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5614 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 04:31:49 +00:00
Chris Lattner
a329733f47 Allow the addition of edge source labels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 19:40:59 +00:00
Chris Lattner
7f306c8dcf Add hash_multimap support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5457 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:14:28 +00:00
Chris Lattner
fd373cb944 Initial checking: defult the make_vector function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:01:16 +00:00
Chris Lattner
cb09cc268b Move annotation to support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
4a10645c70 New files for miscompilation detection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5120 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:50:16 +00:00
Chris Lattner
2a77df33f0 Fix header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4966 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-12 03:43:30 +00:00
Vikram S. Adve
1818275956 Bug fix in operator==() and in method fini().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4945 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 15:02:22 +00:00
Vikram S. Adve
0e2cf7606d Several fixes:
(1) Applied patch from Casey to implement iterator::operator= correctly:
    it should use a pointer, not a reference.
(2) Added operators == and !=, and method all().
(3) Important bug fix: excess bits need to be ignored in operations
    like ==, count(), and all().  We do this by ensuring excess bits
    in the last bitset are always 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4837 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-27 17:46:38 +00:00
Chris Lattner
44a92675e4 Add facility to compute peak memory usage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4752 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18 21:45:55 +00:00
Chris Lattner
d8a947e233 Fix warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4708 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-15 18:04:16 +00:00
Chris Lattner
169f8b838b Add tarj_end() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4684 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 23:46:31 +00:00
Chris Lattner
d8d97ce857 Fix a problem where bad graphs could be generated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4671 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 06:47:03 +00:00
Vikram S. Adve
691cd891e3 Include HashExtras.h since it is almost always needed anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4626 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-08 14:07:33 +00:00
Chris Lattner
45a9116e0a Make maxSize a private variable, add a size() accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4573 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 18:34:40 +00:00
Vikram S. Adve
5f76054a79 An implementation of the bit-vector representation of sets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4568 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 17:14:14 +00:00
Chris Lattner
b7843a4f57 Allow memory sizes to be negative, eliminate TmpRSS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4539 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 19:20:09 +00:00
Vikram S. Adve
5fe9171b38 Generic graph iterator to enumerate the SCCs of a graph
in linear time using Tarjan's DFS algorithm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4531 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 14:15:57 +00:00
Chris Lattner
4932b31dce Statistic class should return const reference to *this, not a reference to
the data type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4458 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-31 02:50:27 +00:00
Chris Lattner
4a63b72df9 Don't #include <Support/*>, #include "Support/*"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4325 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 02:11:53 +00:00
Chris Lattner
df6f5835e9 Add neccesary #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:16:27 +00:00
Chris Lattner
ab77194e2a Old GCC's don't have an <ostream>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:12:37 +00:00
Chris Lattner
137d399fae Don't emit braces around something without outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-18 14:55:44 +00:00
Chris Lattner
dc05fffe2b Break up the GraphWriter into smaller chunks to be used in different ways
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4207 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 00:59:59 +00:00
Chris Lattner
a16adb7dd2 As wierd as it feels to type it, const void* is more generic than void*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4206 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 00:16:39 +00:00
Chris Lattner
7be17dd233 Allow simple nodes to have outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4202 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 20:15:38 +00:00
Chris Lattner
96f5493100 * Factor printing code again, add emitSimpleNode method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4198 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 02:03:18 +00:00
Chris Lattner
834a9d12f3 * Add new DOTGraphTraits::addCustomGraphFeatures method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4197 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:44:59 +00:00
Chris Lattner
8c836ce4f8 * Significantly refactor GraphWriter into a class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4194 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:34:18 +00:00
Chris Lattner
63a32de776 - Generic graph printing infrastructure changes:
* Only print outgoing edges from a cell if the destination isn't null.
       This is important for DSGraphs, which have sources with no edges.
     * Allow Node attributes to override shape of the node


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4192 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:18:14 +00:00
Chris Lattner
d063725c3c disable the unused "pointer" member
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:30:44 +00:00
Chris Lattner
b38e4fd8b0 Add dummy entries to document what members can be added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4141 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 17:12:05 +00:00
Chris Lattner
f6516da9b3 * Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
  * Allow custom graph traits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4109 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:29:51 +00:00
Chris Lattner
e9812838ee Add new getGraphProperties that may be specialized by graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:29:10 +00:00
Chris Lattner
9106a58806 Don't rotate paper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 22:37:03 +00:00
Chris Lattner
95b923d548 - Allow printing generic LLVM graphs to 'dot' files, so they can be
visualized easily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4061 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:37:10 +00:00
Chris Lattner
b0d0f5b473 The wall clock timer (implementing using the RTC or cycle counter on x86) is
so much more accurate than the per process timers that we get better results
(less noise) by sorting according to wall time than process time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4034 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-03 21:08:20 +00:00
Chris Lattner
96ef1b90c8 - Rework Statistics:
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3999 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 22:35:45 +00:00
Chris Lattner
6c38a79d77 Checkin generic interval timer support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3992 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 19:36:54 +00:00
Chris Lattner
16ca2b991b Fix ambiguity problem due to builtin log2(double) function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:56:50 +00:00
Vikram S. Adve
33adbcc87d Add ilist_iterator constructor from a node reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3756 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:46:17 +00:00