Misha Brukman
f792dbcd77
Expose functionality to query if a file is an ELF shared object.
...
llvm-svn: 10194
2003-11-24 05:28:39 +00:00
Brian Gaeke
b878ff088b
A better way to get std::pair into the compiler's little, walnut-sized brain.
...
llvm-svn: 10174
2003-11-23 03:50:31 +00:00
Brian Gaeke
f158b46c54
This is a hack to make this file compile under g++-3.0.x;
...
otherwise it can't decide what std::pair is. It seemed relatively
harmless.
llvm-svn: 10173
2003-11-23 00:55:27 +00:00
Chris Lattner
310dac2b01
Somehow I forgot poor little UnwindInst
...
*sniff*
llvm-svn: 10108
2003-11-20 18:11:56 +00:00
Chris Lattner
ffcdbe02bf
* Add new constructors to allow insertion of terminator instructions at the
...
end of basic blocks.
* Document some confusing constructor combinations
* Move a ReturnInst method out-of-line, so that the vtable and type info don't
need to be emitted to every translation unit that uses the class.
llvm-svn: 10106
2003-11-20 17:44:37 +00:00
Alkis Evlogimenos
6627a32ff9
Merging the linear scan register allocator in trunk. It currently passes most tests under test/Programs/SingleSource/Benchmarks/Shootout so development will continue on trunk. The allocator is not enabled by default. You will need to pass -regallo=linearscan to lli or llc to use it.
...
llvm-svn: 10103
2003-11-20 03:32:25 +00:00
Brian Gaeke
66b0271960
Regenerated using autoheader-2.57
...
llvm-svn: 10064
2003-11-18 06:21:24 +00:00
Chris Lattner
7c9bfad92c
Implement == and != correctly. Before they would incorrectly return !=
...
for some constant exprs when they could really be the same value
llvm-svn: 10058
2003-11-17 20:19:35 +00:00
Chris Lattner
1f762c7571
The ConstantPointer class is now gone.
...
llvm-svn: 10057
2003-11-17 19:47:21 +00:00
Chris Lattner
daee0fa51f
Constant folding shalt not be built on annotations
...
llvm-svn: 10052
2003-11-17 19:05:17 +00:00
Chris Lattner
63dabbbf92
Fix copy-and-pasteo
...
llvm-svn: 10049
2003-11-17 01:07:58 +00:00
Chris Lattner
9995768f47
Fixes for PR114: Thanks to Reid Spencer!
...
llvm-svn: 10029
2003-11-16 20:21:15 +00:00
Chris Lattner
5bc662bc0a
This is obviously illegal C++ code, but was apparently accepted by 3.3
...
bork
llvm-svn: 9993
2003-11-14 06:03:05 +00:00
Chris Lattner
6a0a73554a
Add methods for implementation
...
llvm-svn: 9963
2003-11-13 05:05:34 +00:00
Chris Lattner
b3ddf91dd5
Remove needless dependence on boost
...
llvm-svn: 9961
2003-11-13 04:11:30 +00:00
Chris Lattner
d7284a85b5
Add namespace qualifier
...
llvm-svn: 9959
2003-11-13 02:30:22 +00:00
Chris Lattner
d2ce57f9d8
Minor cleanups
...
llvm-svn: 9958
2003-11-13 02:01:41 +00:00
Chris Lattner
3c72015317
Add an initial version of the CompleteBUDataStructures pass
...
llvm-svn: 9955
2003-11-13 01:42:38 +00:00
Chris Lattner
4823a3ce48
Fix faulty namespacification
...
llvm-svn: 9943
2003-11-12 22:45:14 +00:00
John Criswell
07b942e14c
Regress to not using the llvm namespace.
...
This keeps Pool Allocation stuff from compiling.
We can re-visit it later when we have time to do it right.
llvm-svn: 9932
2003-11-12 21:32:06 +00:00
Chris Lattner
fb07beec2c
Add argument
...
llvm-svn: 9921
2003-11-12 17:58:09 +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
Brian Gaeke
b576c42af7
Add prototypes for CheckMagic, IsArchive, and IsBytecode.
...
llvm-svn: 9900
2003-11-11 21:53:29 +00:00
Brian Gaeke
6d725eef5f
VS: ----------------------------------------------------------------------
...
Add prototype for FileOpenable().
llvm-svn: 9891
2003-11-11 18:27:11 +00:00
Chris Lattner
2b0c87be66
Add new method
...
llvm-svn: 9879
2003-11-11 05:08:36 +00:00
Chris Lattner
da2387324c
Include forms of SplitCriticalEdge which work correctly with pred/succ iterators
...
llvm-svn: 9856
2003-11-10 04:42:13 +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
Chris Lattner
2a993fb1c5
Move isCriticalEdge & SplitCritical into this file. While we're at it, change
...
the interface to SplitCriticalEdge so that it splits an edge if it is critical,
otherwise just returns false and noops if not.
llvm-svn: 9852
2003-11-10 04:10:27 +00:00
Chris Lattner
6beaeb1c1d
Move isCriticalEdge & SplitCritical edge out of this file, which is only
...
for passes.
llvm-svn: 9851
2003-11-10 04:09:44 +00:00
Brian Gaeke
ebdebb3a5d
Regenerated.
...
llvm-svn: 9850
2003-11-10 03:06:28 +00:00
Brian Gaeke
c06f31a815
Patch to fix PR102, contributed by Reid Spencer.
...
llvm-svn: 9849
2003-11-10 03:06:09 +00:00
Chris Lattner
f40566184d
Fix PR95. I'm checking this patch in for Reid Spencer, who figured it out
...
and wrote it up. Thanks!!
llvm-svn: 9832
2003-11-09 19:39:48 +00:00
Chris Lattner
dd39a2b0f8
Provide a specialization of _Alloc_traits, which allows the G++ runtime to avoid
...
storing an instance of the allocator in each data structure it uses. Yaay.
llvm-svn: 9795
2003-11-07 23:20:56 +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
Misha Brukman
9116e0e93e
Added ability to register FunctionPasses as optimizations, with
...
TargetMachine-accepting constructors (thanks to Chris).
llvm-svn: 9781
2003-11-07 18:56:32 +00:00
Misha Brukman
b6f41c96d7
Declare FunctionPasses as such.
...
llvm-svn: 9767
2003-11-07 17:19:39 +00:00
Chris Lattner
238613ff30
Add some ctors for this allocator
...
llvm-svn: 9766
2003-11-07 15:20:06 +00:00
Chris Lattner
5c551d6bd5
Split the DAE pass into DAE and DAH passes
...
llvm-svn: 9742
2003-11-05 21:43:42 +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
Misha Brukman
7fa3523f55
Since this function returns an int, let's actually return something.
...
llvm-svn: 9734
2003-11-05 19:48:05 +00:00
Alkis Evlogimenos
2cca429997
Add std::pair tier. This is a much simplified version of boost::tie
...
that works only for std::pair.
llvm-svn: 9723
2003-11-05 05:58:26 +00:00
Chris Lattner
9e2193fbb9
This works with GCC 3.4 also
...
llvm-svn: 9717
2003-11-05 01:31:12 +00:00
Chris Lattner
97da28f949
Fix spello
...
Add negate overload
llvm-svn: 9709
2003-11-04 23:37:40 +00:00
Alkis Evlogimenos
a6f280b483
Update documentation since it was misleading: make it clear that a
...
negative instruction count is returned if instructions are removed
from a basic block.
llvm-svn: 9705
2003-11-04 23:07:00 +00:00
Alkis Evlogimenos
c6a7c83333
Change all machine basic block modifier functions in MRegisterInfo to
...
return the number of instructions added to/removed from the basic block
passed as their first argument.
Note: This is only needed because we use a std::vector instead of an
ilist to keep MachineBasicBlock instructions. Inserting an instruction
to a MachineBasicBlock invalidates all iterators to the basic
block. The return value can be used to update an index to the machine
basic block instruction vector and circumvent the iterator elimination
problem but this is really not needed if we move to a better
representation.
llvm-svn: 9704
2003-11-04 22:57:09 +00:00
Chris Lattner
7bf113d3ca
New file, for use by the pool allocator project
...
llvm-svn: 9702
2003-11-04 22:38:28 +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
a71b07eeca
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
29f03b2d39
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