Commit Graph

1579 Commits

Author SHA1 Message Date
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
Vikram S. Adve
37047489b7 Don't require a BB to look-up live variables, unless they may need to
be recomputed.

llvm-svn: 7384
2003-07-29 19:32:04 +00:00
John Criswell
b3b18df383 Enable JIT when the platform supports it.
Select /localhome/$USER when it exists.
Fix the checks for bidirectional and forward iterators so that they work with
version of GCC prior to 3.x.

llvm-svn: 7383
2003-07-29 19:11:58 +00:00
Chris Lattner
9b62a24451 Fix copy and paste-o
llvm-svn: 7378
2003-07-29 05:15:44 +00:00
Chris Lattner
396841f185 Move value type enums to CodeGen/ValueTypes.h
llvm-svn: 7376
2003-07-29 05:13:34 +00:00
Chris Lattner
337787e85b Define target value types in a form usable by target-independent code
llvm-svn: 7375
2003-07-29 05:13:09 +00:00
Chris Lattner
f4b6e59dfa Add alpha intrinsics, contributed by Rahul Joshi
llvm-svn: 7372
2003-07-28 21:18:21 +00:00
Misha Brukman
d36940e9ec Lined things up in a more aesthetically pleasing way.
llvm-svn: 7365
2003-07-28 19:17:53 +00:00
Misha Brukman
88c077722e Removed extra parenthesis and fixed spelling.
llvm-svn: 7359
2003-07-28 16:53:28 +00:00