1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
Commit Graph

273 Commits

Author SHA1 Message Date
Reid Spencer
122d536042 Removed unused, useless header file.
llvm-svn: 13757
2004-05-25 17:28:35 +00:00
Alkis Evlogimenos
b8938f3fec Remove virtual destructor from InstVisitor. This class should never be
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.

llvm-svn: 13664
2004-05-23 20:54:39 +00:00
Vikram S. Adve
f4fed4aaa2 Add getCaller() method.
llvm-svn: 13650
2004-05-23 08:02:45 +00:00
Chris Lattner
068c3a1858 Starting an identifier with an _ is not legal C/C++ code.
llvm-svn: 13620
2004-05-21 18:37:13 +00:00
Alkis Evlogimenos
6345ab33dd Fix for gcc3.4: invalid use of forward delacred class on line 93
llvm-svn: 13370
2004-05-06 02:07:42 +00:00
Brian Gaeke
2165451812 Apply simplification suggested by Chris: why assign() when operator = will do?
llvm-svn: 13364
2004-05-04 22:02:41 +00:00
Brian Gaeke
ba26360c7e Add "Args" optional argument to AbstractInterpreter factory methods, which
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This
ToolArgs vector is used to pass additional arguments to LLI and/or LLC.
This is intended to address Bug 40.

Also, make -debug-only=toolrunner work for the LLC and CBE
AbstractInterpreters.

llvm-svn: 13356
2004-05-04 21:09:01 +00:00
Misha Brukman
4d6a3d4e1e Provide visit(Module&) and visitModule(Module&) functionality.
llvm-svn: 13353
2004-05-04 18:30:38 +00:00
Chris Lattner
939685e14b Move the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.
llvm-svn: 13299
2004-05-01 21:05:34 +00:00
Brian Gaeke
af5e2f1ea5 Add machine-CFG graph traits specializations.
llvm-svn: 13288
2004-04-29 17:43:55 +00:00
Chris Lattner
02c65b5395 Changes to fix up the inst_iterator to pass to boost iterator checks. This
patch was graciously contributed by Vladimir Prus.

llvm-svn: 13185
2004-04-27 15:13:33 +00:00
Chris Lattner
81e7a8ffc5 Support iteration over constant instructions
llvm-svn: 12645
2004-04-04 19:46:54 +00:00
Chris Lattner
5eab55b846 Allow for use of arbitrary iterator types...
llvm-svn: 12642
2004-04-03 23:29:11 +00:00
Chris Lattner
e78381e9f1 Add some new methods
llvm-svn: 12539
2004-03-30 00:20:08 +00:00
Chris Lattner
0d39383456 Relax the interface a bit
llvm-svn: 12533
2004-03-29 20:42:38 +00:00
Chris Lattner
7aa1774b2e Add the visitSelectInst visitor method
llvm-svn: 12312
2004-03-12 05:51:22 +00:00
Chris Lattner
a3f44e7098 Significantly simplify gep_type_iterator, and make its interface more general/powerful
llvm-svn: 11708
2004-02-22 06:27:03 +00:00
Alkis Evlogimenos
59c646da40 Make ToolExecutionError inherit std::exception and implement its
interface: getMessage() is gone, use what() instead.

llvm-svn: 11621
2004-02-19 07:39:26 +00:00
Chris Lattner
00012233a7 Add support for just compiling a program
llvm-svn: 11610
2004-02-18 23:24:29 +00:00
Chris Lattner
15a1c4c452 Byebye method
llvm-svn: 11598
2004-02-18 20:38:12 +00:00
Chris Lattner
72ce97cc95 When an error occurs executing a tool, we now throw an exception instead
of calling exit(1).

llvm-svn: 11593
2004-02-18 20:21:57 +00:00
Chris Lattner
f877cd09d0 The CBE is no longer in llvm-dis
llvm-svn: 11532
2004-02-17 06:39:48 +00:00
Chris Lattner
1bad051558 Add method
llvm-svn: 11425
2004-02-14 00:30:31 +00:00
Brian Gaeke
7e09b6d2a7 Fix typo in comment
llvm-svn: 10424
2003-12-12 04:58:13 +00:00
Chris Lattner
6afb79b6a8 fix gcc 3.4 compatibility problem
llvm-svn: 10248
2003-11-28 01:46:06 +00:00
Chris Lattner
31814958ec Work with gepi's and constant exprs. Also, add versions of iterator ctors that take references
llvm-svn: 10220
2003-11-25 20:17:49 +00:00
Chris Lattner
d8049787c5 Rename class to be consistent with other iterator classes
llvm-svn: 10213
2003-11-25 19:58:35 +00:00
Chris Lattner
6dd68ba077 Initial checkin of gep_type_begin/end which will be used to address PR82
llvm-svn: 10212
2003-11-25 19:37:28 +00:00
Brian Gaeke
d25f86d683 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Chris Lattner
88e0e2ab86 No really, I'm not on crack
llvm-svn: 9855
2003-11-10 04:23:52 +00:00
Chris Lattner
79ba83de00 Helper method
llvm-svn: 9854
2003-11-10 04:16:50 +00:00
Brian Gaeke
f84726a3fd Add a warning about not "new"ing or "delete"ing CallSites
llvm-svn: 9782
2003-11-07 19:25:22 +00:00
Brian Gaeke
eb6b11c9e0 A few handy methods that seem to mesh well with what CallSite already provides.
llvm-svn: 9737
2003-11-05 20:25:33 +00:00
Chris Lattner
6bdf3f6928 Allow CallSites to be used as the key of a map
llvm-svn: 9660
2003-11-02 23:04:33 +00:00
Chris Lattner
78b09155e1 Did I mention that I _HATE_ CPRs?
llvm-svn: 9639
2003-10-31 18:38:06 +00:00
Chris Lattner
3cd24ce25a Add assertions
llvm-svn: 9443
2003-10-23 19:33:49 +00:00
John Criswell
16c6cda9d5 Added LLVM copyright header (for lack of a better term).
llvm-svn: 9304
2003-10-20 20:19:47 +00:00
Chris Lattner
97433b8e95 Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
This allows removal of a special case from the instvisitor

llvm-svn: 9268
2003-10-19 21:34:11 +00:00
Chris Lattner
d0e3a15a9e New revised variable argument handling support
llvm-svn: 9219
2003-10-18 05:53:13 +00:00
Chris Lattner
ac95730fca Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects
llvm-svn: 9129
2003-10-14 21:52:52 +00:00
Chris Lattner
1cad7eb7b0 Substantial cleanups:
* Add header comment
 * Remove extraneous #includes
 * Move the FileType enum into the GCC class
 * The GCC class is not virtual.
 * Move all of the "constructor" functions into the classes themselves
 * Stop using cl::list as arguments, use std::vector instead (which cl::list
   derives from)
 * Improve comments

llvm-svn: 9121
2003-10-14 21:34:11 +00:00
Misha Brukman
32c5aec6ec Fix spelling.
llvm-svn: 9021
2003-10-10 17:42:19 +00:00
Chris Lattner
4e4c763dfc Standardize header file comments
llvm-svn: 8782
2003-09-30 18:37:50 +00:00
Chris Lattner
d2a392eef1 Add a file header
llvm-svn: 8781
2003-09-30 18:28:53 +00:00
Misha Brukman
a081e4323f Abstracted away the process of running our tools + gcc from bugpoint.
llvm-svn: 8753
2003-09-29 22:38:57 +00:00
Brian Gaeke
16e30e5c84 Fix a typo I happened to notice.
Rename include guards in the "usual" manner.

llvm-svn: 8695
2003-09-24 04:09:50 +00:00
Chris Lattner
d4de2760aa Rename Function::getEntryNode -> getEntryBlock
llvm-svn: 8625
2003-09-20 14:39:18 +00:00
Chris Lattner
a1ae09f681 add support for the unwind inst
llvm-svn: 8406
2003-09-08 18:54:16 +00:00
Chris Lattner
3521199bc1 Remove automagic support for Modules. Noone uses it now anyways, and GCC 3.4 doesn't want us to do this unless Module has been #included
llvm-svn: 8216
2003-08-29 14:48:21 +00:00
Chris Lattner
035a14e67f Of course, the copy ctor really should copy the operand as well
llvm-svn: 8077
2003-08-23 20:06:38 +00:00
Chris Lattner
2e682be3b2 Add more methods to be more value-like
llvm-svn: 8074
2003-08-23 19:51:10 +00:00
Chris Lattner
9b93eff8bb Initial checkin of ValueHolder helper class
llvm-svn: 8073
2003-08-23 19:43:18 +00:00
Misha Brukman
56f7db4178 Spell `necessary' correctly.
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
f918b0a5fc Add support to the mangler for targets which require _'s on global symbols
llvm-svn: 7741
2003-08-11 19:34:29 +00:00
Tanya Lattner
8a8e6e6ed3 Need to include <string> to fix compile error on Sun
llvm-svn: 7358
2003-07-28 16:42:33 +00:00
Brian Gaeke
2742a70083 Forward-declare class Module to make the header file self-contained.
llvm-svn: 7319
2003-07-25 20:20:53 +00:00
Brian Gaeke
d9979a5529 Cleanups:
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator.
 Make Count an unsigned int, and use utostr().
 Don't name parameters things that start with underscore.
Mangler.h: All of the above, and also: Add Emacs mode-line.  Include <set>.

llvm-svn: 7301
2003-07-24 21:37:57 +00:00
Brian Gaeke
e5ae59ad05 Factor out name-mangling from X86/Printer, which is derived from CWriter,
into this new support class.

llvm-svn: 7300
2003-07-24 20:20:58 +00:00
Chris Lattner
6c12776232 Remove a ton of extraneous #includes
llvm-svn: 6842
2003-06-22 03:08:05 +00:00
Chris Lattner
67594b9975 * Add new CallSite::get factory method
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!

llvm-svn: 6758
2003-06-17 22:16:59 +00:00
Chris Lattner
5615d77ee1 Make sure accessor is properly doxygenized. It wants two lines
llvm-svn: 6756
2003-06-17 21:44:51 +00:00
Chris Lattner
260440f727 Add accessor
llvm-svn: 6755
2003-06-17 21:44:31 +00:00
Chris Lattner
8b6107ebf2 Make CallSite's default constructable, copyable, and assignable (explicitly)
llvm-svn: 6749
2003-06-17 19:50:28 +00:00
John Criswell
4781723de6 Included assert.h so that the code compiles under newer versions of GCC.
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
Chris Lattner
aaf60fb906 Remove long dead code
llvm-svn: 6307
2003-05-22 22:00:54 +00:00
Misha Brukman
825e174bf7 Hopefully, the final fix for `[Pp]ropogate'.
llvm-svn: 6251
2003-05-20 21:01:22 +00:00
Chris Lattner
1c7dcb91d4 Add support for the new VarArgInst instruction, reindent some stuff
llvm-svn: 6028
2003-05-08 02:43:06 +00:00
Chris Lattner
97c9c55218 Revert last checkin. Note that PHI nodes can use basic blocks also!
llvm-svn: 5956
2003-04-26 17:38:26 +00:00
Chris Lattner
e833466012 Remove long-dead obsolete cruft
llvm-svn: 5955
2003-04-25 23:39:08 +00:00
Chris Lattner
9485cd4e9b Remove support for "targetdata pass ctors"
llvm-svn: 5901
2003-04-24 18:41:30 +00:00
Chris Lattner
a568a9261a Kill unneccesary &*
llvm-svn: 5870
2003-04-23 16:35:30 +00:00
Chris Lattner
caba6cfcf5 Initial checkin of CallSite wrapper for Call/Invoke instructions
llvm-svn: 5618
2003-02-24 20:35:45 +00:00
Chris Lattner
93f7326092 Give better error message if two passes of the same argument are registered
llvm-svn: 4950
2002-12-07 04:41:22 +00:00
Chris Lattner
2253ec7ec9 Ignore options that are ""
llvm-svn: 4757
2002-11-19 17:10:14 +00:00
Chris Lattner
0df2058775 Expose API to graph library to allow iteration over all nodes, even unreachable ones
llvm-svn: 4111
2002-10-10 22:31:31 +00:00
Chris Lattner
a79cd8735c Fix bug in last checkin
llvm-svn: 4058
2002-10-07 17:13:22 +00:00
Chris Lattner
a186714d74 Implement operator= for SuccIterators
llvm-svn: 4055
2002-10-07 16:53:22 +00:00
Vikram S. Adve
4045ba355d *** empty log message ***
llvm-svn: 3749
2002-09-16 16:01:41 +00:00
Chris Lattner
9cf88346b6 Eliminate the GenericBinaryInst class
llvm-svn: 3649
2002-09-10 15:35:23 +00:00
Chris Lattner
9fc380645d Implement operator== and != for ranges
llvm-svn: 3571
2002-09-03 01:05:31 +00:00
Chris Lattner
b7f7350ba6 Add printing support to ConstantRange class
llvm-svn: 3566
2002-09-02 00:18:26 +00:00
Chris Lattner
0c4ea48b54 Initial implementation of ConstantRange support
llvm-svn: 3564
2002-09-01 23:53:39 +00:00
Chris Lattner
9f18db8156 Eliminated the MemAccessInst class, folding contents into GEP class.
llvm-svn: 3488
2002-08-22 23:37:24 +00:00
Chris Lattner
3fbdcb699a Load & Store Inst now no longer derive from MemAccessInst
llvm-svn: 3486
2002-08-22 22:54:10 +00:00
Chris Lattner
417aa6666c Add missing forward decl
llvm-svn: 3413
2002-08-21 15:38:45 +00:00
Chris Lattner
0e17a44326 Remove support for unary instructions
llvm-svn: 3324
2002-08-14 18:18:28 +00:00
Chris Lattner
252b65fbdf Factor PassNameParser out of opt.cpp so that analyze and eventually llc can use it.
llvm-svn: 3108
2002-07-26 21:09:10 +00:00
Chris Lattner
b57916c8de *** empty log message ***
llvm-svn: 3082
2002-07-25 15:39:09 +00:00
Chris Lattner
0ccf5689e3 *** empty log message ***
llvm-svn: 3077
2002-07-25 15:00:45 +00:00
Chris Lattner
5f11498859 *** empty log message ***
llvm-svn: 3065
2002-07-24 22:08:53 +00:00
Chris Lattner
dfd421a7df MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt

llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner
708b869951 Make sure to call the derived visit versions from the ranged iterator.
llvm-svn: 2607
2002-05-10 22:21:05 +00:00
Chris Lattner
ff9f677248 Add explicit abort so optimized build knows that the function does not return
llvm-svn: 2605
2002-05-10 18:53:55 +00:00
Chris Lattner
3cdb370e13 * Add a comment to the header giving a breif overview of how to return a
value from a visit function
* Define a (file local) DELEGATE macro to make the code easier to read/maintain
* Define per-opcode delegation functions so that users can override specific
  instances of BinaryOperator for example.

llvm-svn: 2290
2002-04-18 16:16:16 +00:00
Chris Lattner
fea39ddbf3 * Make dtor virtual
* Add a new defaulted argument that allows the instruction visitation
  visitors to return a non-void value.

llvm-svn: 2289
2002-04-18 15:46:40 +00:00
Chris Lattner
bd8fdf2d57 * s/Method/Function
* Add/allow callbacks for module,function, & basic block visiting

llvm-svn: 2250
2002-04-15 19:32:36 +00:00
Chris Lattner
c8166cec07 s/Method/Function
llvm-svn: 2180
2002-04-08 22:03:57 +00:00
Chris Lattner
bc15ae64dd Change references to the Method class to be references to the Function
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.

llvm-svn: 2144
2002-04-07 20:49:59 +00:00
Chris Lattner
456d7bea78 Initial checkin of InstVisitor class
llvm-svn: 1916
2002-03-18 19:07:42 +00:00
Chris Lattner
34bdf4dda4 * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into
llvm/Support/CFG.h

llvm-svn: 1749
2002-02-12 22:35:32 +00:00
Chris Lattner
a4bf6af614 * Move BasicBlock and Method graph stuff to new "llvm/Support/CFG.h" file
* Move Method::inst_* to new "llvm/Support/InstIterator.h" file
* inst_iterator no longer permits resync'ing

llvm-svn: 1744
2002-02-12 21:02:53 +00:00
Chris Lattner
3dc9a2a61f Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
f90b19a71c Move support directory
llvm-svn: 1401
2001-11-29 16:32:16 +00:00
Chris Lattner
463cc31132 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
cead7793a7 Move DataTypes.h from llvm/Support to just Support
llvm-svn: 1399
2001-11-26 23:04:08 +00:00
Chris Lattner
d8c8439517 Print floating point numbers in expodential form so that small numbers don't get truncated, which broke the health benchmark
llvm-svn: 1086
2001-11-01 22:06:00 +00:00
Chris Lattner
bf9a3148af Include functionality to get a string array constant as a string
llvm-svn: 1020
2001-10-29 13:24:31 +00:00
Chris Lattner
cd24a45f20 Initial checkin of name mangling code. Moved from Linker.h
llvm-svn: 1017
2001-10-28 23:31:10 +00:00
Chris Lattner
7ca4d97de9 Better linux support. This file still sucks
llvm-svn: 750
2001-10-13 06:31:55 +00:00
Chris Lattner
bb7743d148 Update comments
llvm-svn: 692
2001-10-01 13:34:22 +00:00
Chris Lattner
a8f5e13f7a Pull iterators out of CFG.h and genericize them with GraphTraits
llvm-svn: 666
2001-09-28 22:59:14 +00:00
Chris Lattner
5c7c21efb1 Generic k-way tree support
llvm-svn: 554
2001-09-14 01:42:01 +00:00
Chris Lattner
e9a2b44041 * Fixed mapped_iterator to actually work with functors
* Implement mapto function that works like map in a functional programming language

llvm-svn: 439
2001-09-07 16:30:28 +00:00
Vikram S. Adve
34059f45b6 Added function printIndent.
llvm-svn: 317
2001-07-28 04:41:27 +00:00
Vikram S. Adve
d8415b8fbd Added a pointer hash function object for use in pointer maps.
llvm-svn: 316
2001-07-28 04:41:10 +00:00
Chris Lattner
a601339af2 Eliminated the Unique class in favor of NonCopyable and NonCopyableV
llvm-svn: 280
2001-07-23 18:26:21 +00:00
Chris Lattner
ff6c44f04f Moved inline/llvm/Tools/* to include/llvm/Support/*
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
f42a7804c8 Large scale changes to implement new command line argument facility
llvm-svn: 272
2001-07-23 02:35:57 +00:00
Chris Lattner
4e55efa0f2 Add flag for emacs so it realizes it's C++ code
llvm-svn: 269
2001-07-22 05:15:16 +00:00
Chris Lattner
833a705036 Convert from using C style char*'s to strings.
Look ma, no strdups

llvm-svn: 265
2001-07-22 03:57:31 +00:00
Chris Lattner
09dffa5c66 Remove String file some more
llvm-svn: 264
2001-07-22 00:46:48 +00:00
Chris Lattner
a1c4c3718f Destroy the StringUtils.h file
llvm-svn: 262
2001-07-22 00:18:10 +00:00
Vikram S. Adve
e2b9e658b5 General support utilities like a program options class and a StringMap
class for mapping strings to arbitrary things.

llvm-svn: 228
2001-07-21 12:40:18 +00:00