Commit Graph

1687 Commits

Author SHA1 Message Date
Chris Lattner
1ae014f939 The description is no longer stored directly in the type.
llvm-svn: 8319
2003-09-02 16:28:03 +00:00
Chris Lattner
f993c53f49 Dead header file
llvm-svn: 8317
2003-09-01 20:46:08 +00:00
Chris Lattner
603a7af227 Add RPR prototype here
llvm-svn: 8314
2003-09-01 20:44:42 +00:00
Chris Lattner
8ec3783590 Remove dead file
llvm-svn: 8313
2003-09-01 20:41:21 +00:00
Chris Lattner
feebbdd6d1 No longer require an OptInfo
llvm-svn: 8310
2003-09-01 20:40:43 +00:00
Chris Lattner
87d223c70e Remove header files that were privatized
llvm-svn: 8307
2003-09-01 20:33:38 +00:00
Chris Lattner
aeb98733eb This file is never #included
llvm-svn: 8300
2003-09-01 20:19:31 +00:00
Chris Lattner
ed0dcf3cf0 This file is just a subset of Cilkifier.h
llvm-svn: 8286
2003-09-01 16:42:43 +00:00
Chris Lattner
ef379b667e Other minor cleanups while I'm in the area
llvm-svn: 8284
2003-09-01 16:38:43 +00:00
Chris Lattner
eaed5602a7 Fix spell-o
llvm-svn: 8283
2003-09-01 16:35:30 +00:00
Chris Lattner
2ef2a63728 Change the RaiseAllocations pass from being a BasicBlockPass to being a Pass
llvm-svn: 8279
2003-09-01 03:14:00 +00:00
Chris Lattner
f72da72785 Rename TarjanSCCIterator -> scc_iterator
* Increases consistency with other iterators (e.g. df_iterator, po_iterator...)
  * It's shorter
  * We don't name classes by the implementation, we name it for the interface!

llvm-svn: 8273
2003-08-31 20:01:57 +00:00
Chris Lattner
076533d11b ELIMINATE the SCC class completely. One less thing deriving from std::vector
llvm-svn: 8272
2003-08-31 19:55:31 +00:00
Chris Lattner
44378dc381 Move the HasLoop method from the SCC class to the iterator class
llvm-svn: 8268
2003-08-31 19:51:22 +00:00
Chris Lattner
05498bc768 Remove explicit passing of SCC's around as objects.
llvm-svn: 8267
2003-08-31 19:46:48 +00:00
Chris Lattner
d96c9204b6 This should use Support/iterator, not <iterator>
llvm-svn: 8266
2003-08-31 19:46:22 +00:00
Chris Lattner
0295b0692d Cleanups, move the getAnalysisUsage method to the .cpp file
llvm-svn: 8265
2003-08-31 19:41:17 +00:00
Chris Lattner
dbde8ba630 Fix an FLAT OUT WRONG comment
llvm-svn: 8263
2003-08-31 19:37:29 +00:00
Chris Lattner
a8dc1ecf58 * Cleanups
* operator* now returns a reference to the current SCC, instead of a possibly
  null pointer

llvm-svn: 8261
2003-08-31 19:34:27 +00:00
Chris Lattner
7dac86e5f5 Add accessor function for the PruneEH pass
llvm-svn: 8254
2003-08-31 16:30:25 +00:00
Chris Lattner
7407775435 Minor simplification
llvm-svn: 8251
2003-08-31 02:50:07 +00:00
Chris Lattner
0fd60ef271 Initial checkin of the CallGraphSCCPass class
llvm-svn: 8247
2003-08-31 01:54:59 +00:00
Chris Lattner
7250c86571 Remove usage of unsigned long: unsigned should be enough!
Remove explicit use of a stack<>, use a vector instead

llvm-svn: 8246
2003-08-31 01:48:21 +00:00
Chris Lattner
31b633bf65 This file uses cerr without including <iostream>. Since it's just for debugging, comment it out
llvm-svn: 8245
2003-08-31 01:45:00 +00:00
Chris Lattner
b860fafea2 s/Meth/F
llvm-svn: 8244
2003-08-31 01:38:00 +00:00
Chris Lattner
84474d02d0 Add new helper function which makes it even easier to do this sort of thing
llvm-svn: 8237
2003-08-31 00:19:18 +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
5ec6f80964 Move getAnalysisToUpdate to after the definition of AnalysisResolver.
GCC 3.4 apparently wants classes to be DEFINED before they are USED.  What is
it smoking.

llvm-svn: 8213
2003-08-29 14:26:51 +00:00
Chris Lattner
926a2197ec Fix compilation problems with G++ 3.4
llvm-svn: 8212
2003-08-29 14:22:29 +00:00
Chris Lattner
51f4550b50 Allow for "unsafe" replaceAllUsesWith operatations, for use during type resolution
llvm-svn: 8208
2003-08-29 05:36:05 +00:00
Chris Lattner
d5c685b6fc Add new method
llvm-svn: 8204
2003-08-29 05:08:31 +00:00
Tanya Lattner
ff06e1a796 Moved index in BB to common graph class.
llvm-svn: 8175
2003-08-28 15:31:28 +00:00
Misha Brukman
c2bdd7230c Spell `incompatible' correctly.
llvm-svn: 8163
2003-08-27 18:26:28 +00:00
Tanya Lattner
68f651356f *** empty log message ***
llvm-svn: 8161
2003-08-27 15:52:23 +00:00
Tanya Lattner
93162e16d6 Cleaned up the code (spacing, not needed headers) and changed ostream function. Also made some functions inline.
llvm-svn: 8154
2003-08-27 02:45:08 +00:00
Tanya Lattner
9353c099ac SchedGraphCommon header file. Contains class definition for SchedGraphCommon which is used by SchedGraph and ModuloSchedGraph (coming soon).
llvm-svn: 8149
2003-08-25 23:12:23 +00:00
Chris Lattner
e7a3a51c77 As it turns out, things will be simpler than I first expected. We no longer
need any exception handling intrinsics beyond llvm.unwind. (yaay)

llvm-svn: 8145
2003-08-25 22:35:01 +00:00
Chris Lattner
24b58d4b81 Targets now configure themselves based on the source module, not on the
ad-hoc "Config" flags

llvm-svn: 8134
2003-08-24 19:50:53 +00:00
Chris Lattner
90253d18b1 Targets should configure themselves based on the module, not some wierd flags
llvm-svn: 8131
2003-08-24 19:49:07 +00:00
Chris Lattner
c6135a9ea7 Allow modules to have 'any' pointer size and endianness.
llvm-svn: 8117
2003-08-24 13:46:37 +00:00
Chris Lattner
33a8b49795 rethrow is really the language independent primitive here. "throw" can be written
in terms of it and llvm.exc.setcurrent.

Rework these intrinsics.

llvm-svn: 8109
2003-08-24 12:24:03 +00:00
Chris Lattner
e61cdf5a6e Add versions of InlineFunction which work on Invoke instructions and general call sites
llvm-svn: 8105
2003-08-24 06:58:32 +00:00
Chris Lattner
6fe728600d Initial support for recognizing LLVM exception handling intrinsics
llvm-svn: 8102
2003-08-24 05:30:29 +00:00
Chris Lattner
851a6f8d37 Allow specifying the name for the newly split basic block
llvm-svn: 8097
2003-08-24 03:41:39 +00:00
Chris Lattner
028e23f032 Add period
llvm-svn: 8090
2003-08-23 23:15:10 +00:00
Chris Lattner
367cef7b75 Rename SwitchInst::dest_push_back -> addCase
Add new removeCase method

llvm-svn: 8088
2003-08-23 23:14:37 +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
Chris Lattner
8e9740071f Add missing #include
llvm-svn: 8063
2003-08-22 23:08:55 +00:00
Chris Lattner
805dd2d1d7 Changes to work better with GCC3.4/LLVM G++
llvm-svn: 8054
2003-08-22 14:26:59 +00:00
Misha Brukman
cda7f97dbb The word dependent' has no a'.
llvm-svn: 8030
2003-08-21 22:14:26 +00:00
John Criswell
8bc390da1b The JIT now passes the environment pointer to the main() function when it
starts a program.  This allows the GNU env program to compile and JIT under
LLVM.

llvm-svn: 8022
2003-08-21 21:12:30 +00:00
Chris Lattner
e28c0bf667 Remove unused file
llvm-svn: 8021
2003-08-21 20:54:51 +00:00
Chris Lattner
5a88c2d371 Make assertion message more helpful in a case that might happen...
llvm-svn: 7975
2003-08-19 21:57:00 +00:00
Chris Lattner
2e6dfe808d Add new methods, update comments
llvm-svn: 7962
2003-08-18 22:10:57 +00:00
Chris Lattner
2c6666efc6 Add intrinsics for the llvm.sig(set|long)jmp functions
llvm-svn: 7949
2003-08-18 15:41:24 +00:00
Misha Brukman
56f7db4178 Spell `necessary' correctly.
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
0674b75f99 Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll
llvm-svn: 7915
2003-08-16 20:57:16 +00:00
Brian Gaeke
294589d7f6 lib/Support/CommandLine.cpp:
Many changes suggested by Chris. It's okay, I'll recover from the emotional
damage...maybe someday. :-)

Collapse ParseCStringVector into ParseStringVector.  Comment it.
Make it take a const input.
Use std::string::npos instead of -1 (what a mouthful!)
Make ParseEnvironmentOptions take const inputs.
Check its args at the very beginning.
Strdup all the contents of newArgv and free them all at the end.

include/Support/CommandLine.h:
Constify progName and envVar arguments to ParseEnvironmentOptions().

llvm-svn: 7905
2003-08-15 21:05:57 +00:00
Misha Brukman
52b0a71cee hash_map and hash_set:
* Define HASH_NAMESPACE to `std' in the case of pre-3.0 GCC compilers
* Add comments to clarify the intent of all the #ifdef madness
* Add VIM directive to highlight files as C++

llvm-svn: 7903
2003-08-15 20:01:10 +00:00
Misha Brukman
2416155d3d Reordered includes to be consistent with the LLVM style.
llvm-svn: 7887
2003-08-15 17:52:02 +00:00
Chris Lattner
09d58b8157 Remove extraneous #include
llvm-svn: 7881
2003-08-15 05:21:30 +00:00
Chris Lattner
d929db2450 Add support for basic blocks, unary/binary unspecs, conditional branches, ...
llvm-svn: 7874
2003-08-15 04:52:51 +00:00
Chris Lattner
6b9c20230f Remove extraneous cl:: namespace qualifiers
llvm-svn: 7852
2003-08-14 22:04:41 +00:00
Brian Gaeke
1fea9addaa Add support for reading command line arguments from an environment variable.
llvm-svn: 7851
2003-08-14 22:00:59 +00:00
Brian Gaeke
4651096037 Factory methods for function passes now return type FunctionPass *.
llvm-svn: 7839
2003-08-14 06:09:32 +00:00
Brian Gaeke
4d260a9317 Add new method to FunctionPassManager to add ImmutablePasses.
llvm-svn: 7838
2003-08-14 06:07:57 +00:00
Brian Gaeke
77c65be59e Factory methods for FunctionPasses now return type FunctionPass *.
llvm-svn: 7823
2003-08-13 18:18:15 +00:00
Brian Gaeke
2e59087317 Deconstify parameter to getPointerToFunction().
llvm-svn: 7822
2003-08-13 18:17:54 +00:00
Brian Gaeke
299cf12f45 addPassesToJITCompile and addPassesToEmitMachineCode now take a
FunctionPassManager, to support function-at-a-time compilation and
 emission of code.

llvm-svn: 7821
2003-08-13 18:17:27 +00:00
John Criswell
64631c7abe Removing the pool allocator from the main CVS tree.
Use the poolalloc module in CVS from now on.

llvm-svn: 7810
2003-08-13 15:36:15 +00:00
Vikram S. Adve
1e41dd39ae Make MInst2LVSetBI and MInst2LVSetAI be hash_maps instead of maps.
Add some comments and non-const methods to fix constness problems.

llvm-svn: 7797
2003-08-12 23:39:08 +00:00
Brian Gaeke
4243c7aa6a Add FunctionPassManager - it's like a PassManager, but it only deals in
FunctionPasses.

llvm-svn: 7778
2003-08-12 17:22:39 +00:00
Brian Gaeke
0c25ceaba7 If we can't find INT64_MAX, set it to a reasonable default value,
instead of printing out an (incorrect) #error message.

llvm-svn: 7744
2003-08-11 20:04:57 +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
Chris Lattner
49f6244b56 Initial checkin of SelectionDAG header file
llvm-svn: 7716
2003-08-11 14:56:26 +00:00
Misha Brukman
ca83e0d56b Remove references to `bugpoint' from the now-generic system utilities.
llvm-svn: 7693
2003-08-07 21:33:33 +00:00
Misha Brukman
1e83bc90b9 Moved removeFile() and getUniqueFilename() into FileUtilities.
llvm-svn: 7691
2003-08-07 21:28:50 +00:00
Sumant Kowshik
154c4b21ec Added a flag which is set when all data structures are not pool allocated
llvm-svn: 7660
2003-08-07 04:37:52 +00:00
Chris Lattner
142e03de74 There was no reason for these to be bit-fields, they just need to be unique.
Also, add an isVoid item

llvm-svn: 7659
2003-08-07 00:17:00 +00:00
Chris Lattner
9d58af6fcf Add a bunch of new Alpha Intrinsics for Rahul Joshi
llvm-svn: 7646
2003-08-06 20:08:25 +00:00
Chris Lattner
138a3fc9ab Completely eliminate the per-machine-instruction regsUsed set.
This substantially shrinks the size of each machine instruction, which should
make allocation faster and the cache footprint of the machine code lighter.

Here are some timings for code generation of the larger benchmarks we have.
This are timings of code generation phases of the X86 JIT, when compiled in
debug mode:

		Before	After	Diff
164.gzip:
  InstSel	0.0878	0.0722	-21.6%
  RegAlloc	0.2031	0.1757	-15.6%
  TOTAL		0.5585	0.4999	-11.7%
Ptrdist-bc:
  InstSel	0.0878	0.0722	-21.6%
  RegAlloc	0.2070	0.1933	- 7.1%
  TOTAL		0.6972	0.6464	- 7.9%
197.parser:
  InstSel	0.2148	0.2148	- 0.0%
  RegAlloc	0.4941	0.4277	-15.5%
  TOTAL		1.3749	1.2851	- 7.0%
175.vpr:
  InstSel	0.2519	0.2109	-19.4%
  RegAlloc	0.5976	0.5663	- 5.5%
  TOTAL		1.6933	1.6347	- 3.5%
254.gap:
  InstSel	1.1328	0.9921	-14.2%
  RegAlloc	2.6933	2.4804	- 8.6%
  TOTAL		7.7871	7.2499	- 7.4%

llvm-svn: 7622
2003-08-05 22:39:13 +00:00
Chris Lattner
a826c8d485 Do not insert physical regsiters into the regsUsed set
llvm-svn: 7617
2003-08-05 21:55:20 +00:00
Chris Lattner
bd872cdaaf Add a comment to the method decl
llvm-svn: 7609
2003-08-05 18:38:16 +00:00
Chris Lattner
8da1b00db6 Remove unused method
llvm-svn: 7608
2003-08-05 17:09:08 +00:00
Sumant Kowshik
9d60ea4810 Added declaration of mergeInGlobalsGraph
llvm-svn: 7607
2003-08-05 17:06:18 +00:00
Chris Lattner
b047a0d449 All callers of these methods actually wanted them to preserve the flags,
so get rid of the def/use parameters that were getting passed in.

**** This now changes the semantics of these methods to preserve the flags,
     not clobber them!

llvm-svn: 7602
2003-08-05 16:58:46 +00:00
Sumant Kowshik
d0be623358 Added the declaration of InlineIndirectCalls
llvm-svn: 7601
2003-08-05 16:56:59 +00:00
Chris Lattner
4c675245b9 The NOOP instruction is no longer needed. Instead, use the
TargetInstrInfo::isNOPinstr method

llvm-svn: 7530
2003-08-03 18:52:15 +00:00
Chris Lattner
7ab0de6845 CVS, please don't tell us that we have a new config.h file, everyone knows that.
llvm-svn: 7527
2003-08-03 18:31:38 +00:00
Chris Lattner
1dd4e725c7 Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities
llvm-svn: 7490
2003-08-01 22:12:40 +00:00
Chris Lattner
b3eb22c644 Including statistics into an anonymous namespace that gets #included into
every file is a bad idea.

llvm-svn: 7489
2003-08-01 22:12:07 +00:00
Chris Lattner
a1e4389087 New file
llvm-svn: 7482
2003-08-01 20:28:55 +00:00
Chris Lattner
2e42e72132 This file doesn't need this include
llvm-svn: 7479
2003-08-01 19:16:18 +00:00
Tanya Lattner
f3da6ac76f Renamed trapping instruction function to be more consistent with other functions in the file.
llvm-svn: 7448
2003-07-31 05:08:02 +00:00
Tanya Lattner
8c2ac118ce Added function to determine if an Instruction may trap.
llvm-svn: 7442
2003-07-31 04:05:50 +00:00
Chris Lattner
1fd37738b6 Code generation passes don't need access to raw LLVM types, this method is unnecessary.
llvm-svn: 7412
2003-07-30 05:29:45 +00:00
Vikram S. Adve
b73a1c0085 Unify all constant evaluations that depend on register size
in TargetInstrInfo::ConvertConstantToIntType.

llvm-svn: 7398
2003-07-29 20:30:20 +00:00
Vikram S. Adve
e02f966e3e Moved insertCallerSavingCode() to PhyRegAlloc and
moved isRegVolatile and modifiedByCall here: they are all
machine independent.  Remove all uses of PhyRegAlloc.

llvm-svn: 7387
2003-07-29 19:41:23 +00:00