Commit Graph

1783 Commits

Author SHA1 Message Date
Chris Lattner 2e8d28d082 Allow CallSites to be used as the key of a map
llvm-svn: 9660
2003-11-02 23:04:33 +00:00
Chris Lattner 2b9926fc8e All DSGraphs keep a reference to the targetdata they are created with. This is
used to eliminate the hard coded, hacked in, sparc specific, global TargetData.
Changing the TargetData used to actually match the code fixes problems, and
eliminates a crash.

llvm-svn: 9659
2003-11-02 22:27:28 +00:00
Chris Lattner 7949bf0d54 Including the symbol table in the FindUsedTypes analysis was the WRONG way
to fix test/Regression/CBackend/2003-10-23-UnusedType.ll.  This completely
neutered the deadtypeelim pass.

llvm-svn: 9646
2003-11-02 01:28:41 +00:00
Chris Lattner e9cdb46520 Escape "'s, which are frequent visitors to C++ types
llvm-svn: 9642
2003-10-31 22:16:41 +00:00
Chris Lattner 9157ec025b Did I mention that I _HATE_ CPRs?
llvm-svn: 9639
2003-10-31 18:38:06 +00:00
Chris Lattner f6925da295 Constant pointer refs are causing these to fail unnecessarily, which is causing
a lot of code to be pessimized.  I hate CPRs.  :(

llvm-svn: 9635
2003-10-31 17:51:16 +00:00
Chris Lattner eeabc3f846 Expose new print methods
llvm-svn: 9620
2003-10-30 23:41:19 +00:00
Chris Lattner de171b3d18 New interface
llvm-svn: 9618
2003-10-30 23:39:52 +00:00
Brian Gaeke 8d09fd1ea6 Apparently my Mac OS X fixes were not entirely compatible with SPARC...hmm.
llvm-svn: 9612
2003-10-30 15:03:49 +00:00
Chris Lattner dd63f9e22b When someone includes CallGraph.h, make sure that they link in CallGraph.cpp
llvm-svn: 9611
2003-10-30 05:17:30 +00:00
Chris Lattner 9e167cd6ab Tighten up what we consider to be first class types.
llvm-svn: 9608
2003-10-30 01:38:41 +00:00
Brian Gaeke 7086bbb33c Add support for utostr(unsigned long)
llvm-svn: 9588
2003-10-29 20:06:19 +00:00
Brian Gaeke 0a82d78d8c Pull in stdint.h here, if we have it. Some systems keep
the INT*_MAX macros there.

llvm-svn: 9577
2003-10-29 04:25:48 +00:00
Chris Lattner 8d1464e2d6 Add new method
llvm-svn: 9570
2003-10-28 23:10:44 +00:00
Brian Gaeke c4fdf65e5a Remove __STDC_LIMIT_MACROS from here.
llvm-svn: 9550
2003-10-28 19:11:29 +00:00
Brian Gaeke 65cd504822 ExecutionEngine::create no longer takes a TraceMode argument.
llvm-svn: 9488
2003-10-24 19:58:38 +00:00
Chris Lattner 97b5b1fd58 Add assertions
llvm-svn: 9443
2003-10-23 19:33:49 +00:00
Chris Lattner 7eb71b4bd8 Fix bug in eon hopefully
llvm-svn: 9442
2003-10-23 19:33:44 +00:00
Chris Lattner e4511db45a Include new prototype
llvm-svn: 9422
2003-10-23 16:51:49 +00:00
Chris Lattner 6f92cdd0cf Actually share constants local to a function!
llvm-svn: 9417
2003-10-23 16:29:12 +00:00
Brian Gaeke 3ab0bb144e Fix apparent typo in head-of-file comment.
llvm-svn: 9400
2003-10-23 04:01:49 +00:00
Brian Gaeke a2c22523d2 I think this file is not included by anything.
llvm-svn: 9380
2003-10-22 17:51:28 +00:00
Chris Lattner 2262fd252e Add two new function stubs for viewing the CFG of a function inside of the
debugger

llvm-svn: 9373
2003-10-22 16:03:20 +00:00
Chris Lattner 826afe939d Add a new map
llvm-svn: 9311
2003-10-20 20:55:13 +00:00
Chris Lattner 80e6f5db8f This #include is no longer necessary
llvm-svn: 9306
2003-10-20 20:29:44 +00:00
John Criswell b644598b37 Added LLVM copyright header (for lack of a better term).
llvm-svn: 9304
2003-10-20 20:19:47 +00:00
John Criswell 6be819840b Oops. Typo.
llvm-svn: 9303
2003-10-20 20:16:14 +00:00
John Criswell 4c8472d705 Added LLVM header notice.
llvm-svn: 9302
2003-10-20 20:11:43 +00:00
John Criswell dd04329da2 Added LLVM notice.
llvm-svn: 9300
2003-10-20 19:46:57 +00:00
Brian Gaeke a585d7e768 Make replaceMachineCodeForFunction return void.
Make it assert by default.

llvm-svn: 9287
2003-10-20 15:14:33 +00:00
Chris Lattner b94550e537 Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
llvm-svn: 9269
2003-10-19 21:34:28 +00:00
Chris Lattner fc0bf07db4 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 0079e7dd6d New revised variable argument handling support
llvm-svn: 9219
2003-10-18 05:53:13 +00:00
Misha Brukman 8763b30a2b Return the Module being materialized to avoid always calling getModule().
llvm-svn: 9198
2003-10-17 18:26:51 +00:00
Brian Gaeke 01f5925fc8 Add stub version of replaceMachineCodeForFunction. It will live here until
we have a better place for it to go.

llvm-svn: 9197
2003-10-17 18:26:45 +00:00
Alkis Evlogimenos 8faf8d93d5 Eliminate some extraneous code in SlotCalculator::insertVal().
Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(),
       SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(),
       SlotCalculator::insertVal() to SlotCalculator::insertValue(), and
       SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue().

llvm-svn: 9190
2003-10-17 02:02:40 +00:00
Brian Gaeke cd4ed60bdd This file has funny include guards and funny extra whitespace.
Make this file less funny.

llvm-svn: 9186
2003-10-16 23:43:35 +00:00
Misha Brukman c0acd1173d If we move the constructors to the .cpp file, we can drop the #include
llvm-svn: 9180
2003-10-16 21:16:21 +00:00
Chris Lattner 3c38eac99b Add weak linking type
llvm-svn: 9168
2003-10-16 18:27:04 +00:00
Chris Lattner 830e5a01eb Completely rewrite support for the Value::use_* list. Now, all operations on
this list (except use_size()) are constant time.  Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.

This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:

176.gcc:     77.07s -> 37.38s
177.mesa:     7.59s ->  5.57s
252.eon:     21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap:      7.25s -> 7.42s

252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.

llvm-svn: 9159
2003-10-16 16:53:04 +00:00
Chris Lattner ddf92c8a9a Vector is my friend, do you like vector?
llvm-svn: 9147
2003-10-15 22:10:10 +00:00
Chris Lattner fd27d111d9 lalala
llvm-svn: 9146
2003-10-15 22:09:57 +00:00
Chris Lattner 1318d56b4b We'll need this soon as well
llvm-svn: 9145
2003-10-15 22:09:46 +00:00
Chris Lattner 46c3217be4 This file uses assert and doesn't include anything which already #includes <cassert>
llvm-svn: 9142
2003-10-15 21:55:37 +00:00
Chris Lattner 30c715b30b Remove usage of use_size()
llvm-svn: 9134
2003-10-15 16:43:24 +00:00
Chris Lattner f92877f304 Add new hasOneUse() method. Remove explicit inline qualifiers
llvm-svn: 9132
2003-10-15 16:39:04 +00:00
Chris Lattner 1499851ef6 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
Misha Brukman 1ff924b5c2 Enabling incremental bytecode loading in the JIT:
* ExecutionEngine can be constructed from a ModuleProvider
* Alphabetized order of forward-declared classes

llvm-svn: 9123
2003-10-14 21:35:52 +00:00
Misha Brukman 2c611561ea Enabling incremental bytecode loading in the JIT:
* Add ModuleProvider as a parameter to FunctionPassManager

llvm-svn: 9122
2003-10-14 21:34:56 +00:00
Chris Lattner 66da9ef634 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