Commit Graph

254 Commits

Author SHA1 Message Date
Brian Gaeke 7a719ed20c Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
so that we can easily change its use to be conditional on the result of
an autoconf test later.

llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Brian Gaeke 3350651851 Whoops. I didn't mean to step on John's changes.
llvm-svn: 6722
2003-06-16 21:18:20 +00:00
Brian Gaeke eb505aab08 This version supports FreeBSD.
llvm-svn: 6721
2003-06-16 21:14:57 +00:00
John Criswell ec382b6a64 Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.

llvm-svn: 6684
2003-06-11 19:44:51 +00:00
John Criswell cfac736363 Included assert.h so that the code compiles under newer versions of GCC.
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
Sumant Kowshik 061d15551f Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
llvm-svn: 6605
2003-06-04 08:00:05 +00:00
Chris Lattner be9cef8af4 There are now no uses of NonCopyableV
llvm-svn: 6580
2003-06-03 15:30:48 +00:00
Chris Lattner 46a1892c68 Add doxygen comment for namespace
llvm-svn: 6579
2003-06-03 15:30:37 +00:00
Sumant Kowshik 2618272dad Implementation of Equivalence Classes
llvm-svn: 6422
2003-05-29 22:44:25 +00:00
Chris Lattner d670b086c4 dyn_cast_or_null should work just the same as dyn_cast does
llvm-svn: 6394
2003-05-29 15:07:48 +00:00
Chris Lattner 5eb85148bd Add support for a new "CommaSeparated" modifier
llvm-svn: 6293
2003-05-22 20:25:57 +00:00
Chris Lattner 36a38730c6 Updates to match recent timer updates
llvm-svn: 6069
2003-05-09 20:44:22 +00:00
Chris Lattner ecb0bac0ec Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
llvm-svn: 5862
2003-04-23 16:17:53 +00:00
Chris Lattner 215b00589f 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

llvm-svn: 5861
2003-04-23 16:17:28 +00:00
Chris Lattner 3628607140 Update comment
llvm-svn: 5752
2003-03-21 21:40:39 +00:00
Chris Lattner 9c19c07e8b Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
llvm-svn: 5745
2003-03-17 18:11:27 +00:00
Chris Lattner 940863bd22 Fix #endif
llvm-svn: 5615
2003-02-24 04:40:35 +00:00
Chris Lattner af9598f6a8 Add support for the slist extension
llvm-svn: 5614
2003-02-24 04:31:49 +00:00
Chris Lattner 6a9307866c Allow the addition of edge source labels
llvm-svn: 5493
2003-02-05 19:40:59 +00:00
Chris Lattner 2c5b6a0021 Add hash_multimap support
llvm-svn: 5457
2003-02-01 04:14:28 +00:00
Chris Lattner aa6b2bfd78 Initial checking: defult the make_vector function
llvm-svn: 5424
2003-01-28 20:01:16 +00:00
Chris Lattner 4fd26cc90e Move annotation to support library
llvm-svn: 5268
2003-01-14 21:29:58 +00:00
Chris Lattner de4aa4cf8c New files for miscompilation detection
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner 5bd7897ac2 Fix header
llvm-svn: 4966
2002-12-12 03:43:30 +00:00
Vikram S. Adve 80cac479bd Bug fix in operator==() and in method fini().
llvm-svn: 4945
2002-12-06 15:02:22 +00:00
Vikram S. Adve cb8b5af572 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.

llvm-svn: 4837
2002-11-27 17:46:38 +00:00
Chris Lattner a3ddb9b5ce Add facility to compute peak memory usage
llvm-svn: 4752
2002-11-18 21:45:55 +00:00
Chris Lattner fb1855921c Fix warning
llvm-svn: 4708
2002-11-15 18:04:16 +00:00
Chris Lattner c0a07a4631 Add tarj_end() method
llvm-svn: 4684
2002-11-10 23:46:31 +00:00
Chris Lattner 628b23ab1d Fix a problem where bad graphs could be generated
llvm-svn: 4671
2002-11-10 06:47:03 +00:00
Vikram S. Adve 1b72f8cd28 Include HashExtras.h since it is almost always needed anyway.
llvm-svn: 4626
2002-11-08 14:07:33 +00:00
Chris Lattner 21d8b9f0d6 Make maxSize a private variable, add a size() accessor
llvm-svn: 4573
2002-11-06 18:34:40 +00:00
Vikram S. Adve e781ba560e An implementation of the bit-vector representation of sets.
llvm-svn: 4568
2002-11-06 17:14:14 +00:00
Chris Lattner 745b8516d2 Allow memory sizes to be negative, eliminate TmpRSS
llvm-svn: 4539
2002-11-04 19:20:09 +00:00
Vikram S. Adve a9c3afbe4f Generic graph iterator to enumerate the SCCs of a graph
in linear time using Tarjan's DFS algorithm.

llvm-svn: 4531
2002-11-04 14:15:57 +00:00
Chris Lattner b017a3ef50 Statistic class should return const reference to *this, not a reference to
the data type.

llvm-svn: 4458
2002-10-31 02:50:27 +00:00
Chris Lattner 94a4f22573 Don't #include <Support/*>, #include "Support/*"
llvm-svn: 4325
2002-10-28 02:11:53 +00:00
Chris Lattner b1f02f7f02 Add neccesary #include
llvm-svn: 4294
2002-10-27 19:16:27 +00:00
Chris Lattner d5112d71f3 Old GCC's don't have an <ostream>
llvm-svn: 4293
2002-10-27 19:12:37 +00:00
Chris Lattner e7c0293f1f Don't emit braces around something without outgoing edges
llvm-svn: 4225
2002-10-18 14:55:44 +00:00
Chris Lattner aac0864f11 Break up the GraphWriter into smaller chunks to be used in different ways
llvm-svn: 4207
2002-10-17 00:59:59 +00:00
Chris Lattner d2122e26ce As wierd as it feels to type it, const void* is more generic than void*
llvm-svn: 4206
2002-10-17 00:16:39 +00:00
Chris Lattner 6d44463ac2 Allow simple nodes to have outgoing edges
llvm-svn: 4202
2002-10-16 20:15:38 +00:00
Chris Lattner b2694db06e * Factor printing code again, add emitSimpleNode method
llvm-svn: 4198
2002-10-16 02:03:18 +00:00
Chris Lattner adfe59294d * Add new DOTGraphTraits::addCustomGraphFeatures method
llvm-svn: 4197
2002-10-16 01:44:59 +00:00
Chris Lattner e515976a11 * Significantly refactor GraphWriter into a class.
llvm-svn: 4194
2002-10-16 01:34:18 +00:00
Chris Lattner cf5eb3317a - 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

llvm-svn: 4192
2002-10-16 01:18:14 +00:00
Chris Lattner 10bdae7c9e disable the unused "pointer" member
llvm-svn: 4144
2002-10-13 19:30:44 +00:00
Chris Lattner 0e0e32dea9 Add dummy entries to document what members can be added
llvm-svn: 4141
2002-10-13 17:12:05 +00:00
Chris Lattner e3336c72c0 * Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
  * Allow custom graph traits

llvm-svn: 4109
2002-10-10 22:29:51 +00:00
Chris Lattner f43f410dfb Add new getGraphProperties that may be specialized by graphs
llvm-svn: 4108
2002-10-10 22:29:10 +00:00
Chris Lattner 433604a5f5 Don't rotate paper.
llvm-svn: 4066
2002-10-07 22:37:03 +00:00
Chris Lattner 1484662c07 - Allow printing generic LLVM graphs to 'dot' files, so they can be
visualized easily.

llvm-svn: 4061
2002-10-07 18:37:10 +00:00
Chris Lattner 9a389b3cce 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.

llvm-svn: 4034
2002-10-03 21:08:20 +00:00
Chris Lattner c758fe6b72 - 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.

llvm-svn: 3999
2002-10-01 22:35:45 +00:00
Chris Lattner 6dad11f6c0 Checkin generic interval timer support
llvm-svn: 3992
2002-10-01 19:36:54 +00:00
Chris Lattner 3eeba80732 Fix ambiguity problem due to builtin log2(double) function
llvm-svn: 3800
2002-09-17 23:56:50 +00:00
Vikram S. Adve 9d48fcaf1b Add ilist_iterator constructor from a node reference.
llvm-svn: 3756
2002-09-16 16:46:17 +00:00
Chris Lattner a4583fdafc Fix to work correctly under linux
llvm-svn: 3720
2002-09-14 19:52:49 +00:00
Vikram S. Adve 40a24e841e Add support for MacOS and (hopefully) other BSD derivatives.
llvm-svn: 3717
2002-09-14 10:42:59 +00:00
Chris Lattner 240f026d9a Tighten up sanity checking
llvm-svn: 3706
2002-09-13 22:18:26 +00:00
Chris Lattner 8c63fee2d9 Try to work well on multiple platforms.
llvm-svn: 3704
2002-09-13 21:51:25 +00:00
Chris Lattner e614665c1c Add better linux support by using the right macro. This still should be
autoconfiscated, but for now this is sufficient.

llvm-svn: 3701
2002-09-13 15:37:58 +00:00
Chris Lattner 5d40b83adf Checkin patch written by Casey Carter, enabling support for the redhat GCC 2.96
compiler.

llvm-svn: 3697
2002-09-13 14:33:39 +00:00
Chris Lattner 57c6a2123d Checkin initial support for automatic memory leak detection routines
llvm-svn: 3617
2002-09-08 18:51:12 +00:00
Chris Lattner 5b13472129 Simplify interface to parsers.
llvm-svn: 3255
2002-08-07 18:36:27 +00:00
Chris Lattner 0c87ad3b87 Add support for GCC 3.0.4
llvm-svn: 3080
2002-07-25 15:23:20 +00:00
Chris Lattner 379d3286ff GCC 3.1 changes
llvm-svn: 3076
2002-07-25 15:00:43 +00:00
Chris Lattner 1e9a5805a4 GCC 3.1 fixes
llvm-svn: 3066
2002-07-24 22:20:00 +00:00
Chris Lattner 889cddf52c Changes to build with GCC 3.1
llvm-svn: 3064
2002-07-24 22:08:36 +00:00
Chris Lattner 1fafa67e37 Use the new include/Support/iterator file
llvm-svn: 3062
2002-07-24 22:07:42 +00:00
Chris Lattner bad64ee7e3 Add forward_iterator wrapper
llvm-svn: 3061
2002-07-24 22:07:13 +00:00
Chris Lattner 80b3dfd7d6 Add another GCC2.95->3.1 compatibility header
llvm-svn: 3060
2002-07-24 21:38:41 +00:00
Chris Lattner 47ef71bd87 Spiff up the header files
llvm-svn: 3059
2002-07-24 21:25:34 +00:00
Chris Lattner f0f2da260f Move hash_* extension headers from ext/ to Support/ so that we can support
GCC 2.95, GCC 3.0.4 and GCC 3.1 all concurrently, without having to delete
headers after a chackou.

llvm-svn: 3055
2002-07-24 21:16:42 +00:00
Chris Lattner afdf577637 Changes to make it GCC 3.1 compatible
llvm-svn: 3052
2002-07-24 20:44:01 +00:00
Chris Lattner 2182c33ab5 Add missing typename's that GCC3.1 is whining about.
llvm-svn: 3051
2002-07-24 20:22:09 +00:00
Chris Lattner feb53298fd Disable the operator= in Value
Disable the copy ctor and operator= in Annotation.h

llvm-svn: 3048
2002-07-24 20:01:57 +00:00
Chris Lattner 2c54a0db79 Initial checkin
llvm-svn: 3005
2002-07-23 17:56:53 +00:00
Chris Lattner ee49ae0626 Add support for removing an option from a genericparser
llvm-svn: 2998
2002-07-23 17:15:09 +00:00
Chris Lattner c0c03be046 Change to avoid bug in GCC 3.0.4
llvm-svn: 2997
2002-07-23 00:44:37 +00:00
Chris Lattner 5df56c47fc Checkin CommandLine 2.0
llvm-svn: 2982
2002-07-22 02:07:59 +00:00
Anand Shukla f1c0d920e3 changes to make it compatible with 64bit gcc
llvm-svn: 2786
2002-06-25 20:22:25 +00:00
Chris Lattner 113f4f4609 MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt

llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner d99d9d5aef Implement DataTypes.h in terms of inttypes.h
llvm-svn: 2729
2002-05-23 15:48:12 +00:00
Chris Lattner 5184bdc596 Implement a new command line option, -debug, which is meant to unify all of
the random debugging macros scattered throughout llvm.

The new DEBUG(x) macro should be used instead of special purpose debug macros.

llvm-svn: 2709
2002-05-22 17:06:20 +00:00
Chris Lattner 8f7b500fff Add ability to update existing variables with values read from the command line
to certain classes.  This is nice because it means that in header files we can
just declare a value, and still have that value be set based on a command-line
argument.  The difference is now that the #include of CommandLine.h does not
need to go into the header file as well.

llvm-svn: 2708
2002-05-22 17:03:05 +00:00
Chris Lattner 84dc8633e8 Cleanups, rename IsPowerOf2 to isPowerOf2
llvm-svn: 2662
2002-05-19 21:19:55 +00:00
Vikram S. Adve e363307e49 Added log2 for log-base-2 and also modified IsPower2 to use it.
llvm-svn: 2653
2002-05-19 15:46:52 +00:00
Chris Lattner 529ad64148 Initial checkin of Statistic class
llvm-svn: 2599
2002-05-10 15:36:56 +00:00
Chris Lattner 138c8a32b5 Remove obsolete namespace from example
llvm-svn: 2368
2002-04-28 16:18:32 +00:00
Chris Lattner 67f206acc7 New api for signal handling for LLVM tools
llvm-svn: 2301
2002-04-18 19:53:34 +00:00
Chris Lattner 98728f7021 Pull casting operators out of Value.h
llvm-svn: 2166
2002-04-08 21:43:56 +00:00
Chris Lattner 2e183b5c44 Add new function utohexstr.
llvm-svn: 2140
2002-04-07 08:36:19 +00:00
Chris Lattner c141abf8f2 Genericize the ReversePostOrderIterator.
llvm-svn: 1785
2002-02-24 21:48:59 +00:00
Chris Lattner ae99a1bc0f New Support file for operations on set like objects
llvm-svn: 1714
2002-02-05 03:35:10 +00:00
Chris Lattner 28d8eb2286 PostOrderIterator really does depend on Method and BasicBlock. Obviously this
is a huge fixme.

llvm-svn: 1682
2002-02-04 16:29:55 +00:00
Chris Lattner 7f74a56e24 Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner 5de2204fe8 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes

llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner f679703feb Move DataTypes.h from llvm/Support to just Support
llvm-svn: 1399
2001-11-26 23:04:08 +00:00
Chris Lattner 9d0578c92b Convert ConstRules to use annotations to clean it up.
llvm-svn: 514
2001-09-09 21:00:23 +00:00
Chris Lattner 0799ddb3a9 Make annotations operations const with a mutable annotation list so that
we can annotate Types.  A better solution would be make types nonconst.

llvm-svn: 416
2001-09-07 16:16:35 +00:00
Chris Lattner 8aaab6b9c1 Extend annotations to pass data pointers around to the functions
llvm-svn: 374
2001-08-27 05:17:47 +00:00
Chris Lattner 3885a2db4f Add annotation support
llvm-svn: 366
2001-08-23 17:07:56 +00:00