12318 Commits

Author SHA1 Message Date
Mikhail Glushenkov
204fbaf5c2 StringRef'icate.
llvm-svn: 109217
2010-07-23 04:19:39 +00:00
Mikhail Glushenkov
1e5d7c6e82 Get rid of exceptions in llvmc.
llvmc can be now compiled with llvm-gcc on Windows.

llvm-svn: 109215
2010-07-23 03:42:55 +00:00
Chris Lattner
c0a14c1622 give StringMap a new ctor which allows you to initialize it
with an existing allocator.  The interesting use case of this
is that it allows "StringMap<whatever, BumpPtrAllocator&>" for
when you want to allocate out of a preexisting bump pointer
allocator owned by someone else.

llvm-svn: 109213
2010-07-23 03:29:59 +00:00
Chris Lattner
6ba9d4483f modernize stringset interface
llvm-svn: 109212
2010-07-23 03:21:53 +00:00
Eric Christopher
c2f81007c0 Warnings patrol.
llvm-svn: 109174
2010-07-22 21:51:30 +00:00
Chris Lattner
749ca32da1 eliminate the TargetInstrInfo::GetInstSizeInBytes hook.
ARM/PPC/MSP430-specific code (which are the only targets that
implement the hook) can directly reference their target-specific
instrinfo classes.

llvm-svn: 109171
2010-07-22 21:27:00 +00:00
Chris Lattner
8f3adc9057 remove the JIT "NeedsExactSize" feature and supporting logic.
llvm-svn: 109167
2010-07-22 21:17:55 +00:00
Gabor Greif
4e2e9f4517 fit in 80 columns
llvm-svn: 109108
2010-07-22 14:13:14 +00:00
Duncan Sands
0525393a79 Increase the max physreg size. Patch by Pekka Jääskeläinen.
llvm-svn: 109102
2010-07-22 13:10:14 +00:00
Tobias Grosser
336734aca6 Add new RegionInfo pass.
The RegionInfo pass detects single entry single exit regions in a function,
where a region is defined as any subgraph that is connected to the remaining
graph at only two spots.
Furthermore an hierarchical region tree is built.
Use it by calling "opt -regions analyze" or "opt -view-regions".

llvm-svn: 109089
2010-07-22 07:46:31 +00:00
Reid Kleckner
d85e3c5a86 Initial modifications to MCAssembler and TargetMachine for the MCJIT.
Patch by Olivier Meurant!

llvm-svn: 109080
2010-07-22 05:58:53 +00:00
Lang Hames
1cb63afb44 If 'other' was empty 'overlapsFrom(other, other.begin());' will segfault. This avoids that.
llvm-svn: 109075
2010-07-22 02:05:10 +00:00
Dan Gohman
2637cc1a38 Make NamedMDNode not be a subclass of Value, and simplify the interface
for creating and populating NamedMDNodes.

llvm-svn: 109061
2010-07-21 23:38:33 +00:00
Owen Anderson
ac4a1ede17 Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.
llvm-svn: 109058
2010-07-21 23:07:00 +00:00
Jim Grosbach
965a73a28c For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
rdar://8202967

llvm-svn: 109057
2010-07-21 23:03:52 +00:00
Jim Grosbach
efcc2a0cfb tidy up
llvm-svn: 109042
2010-07-21 22:04:53 +00:00
Owen Anderson
f6331109f0 Add the INITIALIZE_PASS macro.
llvm-svn: 109034
2010-07-21 20:46:41 +00:00
Dan Gohman
093cb79d4b Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).

llvm-svn: 109028
2010-07-21 18:54:18 +00:00
Daniel Dunbar
dd45d848a8 Use System/DataTypes.h instead of stdint.h, which isn't portable.
llvm-svn: 109026
2010-07-21 18:48:59 +00:00
Dan Gohman
846b9e15db Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
referenced by NamedMDNodes shouldn't be deleted.

llvm-svn: 109021
2010-07-21 18:01:42 +00:00
Owen Anderson
845b14ef66 Move the smarts of AnalysisGroup registration into PassRegistry.
llvm-svn: 109019
2010-07-21 17:52:45 +00:00
Dan Gohman
c63d812f97 Delete an obsolete comment.
llvm-svn: 109017
2010-07-21 17:21:27 +00:00
Gabor Greif
f97f626730 restore aesthetics
llvm-svn: 109001
2010-07-21 08:25:55 +00:00
Evan Cheng
a77f3d3b37 Teach bottom up pre-ra scheduler to track register pressure. Work in progress.
llvm-svn: 108991
2010-07-21 06:09:07 +00:00
Owen Anderson
7fc9fe7553 Move the handling of PassRegistrationListener's to PassRegistry.
llvm-svn: 108966
2010-07-20 23:41:56 +00:00
Greg Clayton
da9220bbef Added support to MachO.h for many defines and structures that are needed
to Parse mach-o files. All defines have been renamed to not conflict with
#defines in mach header files, all structures were left named the same but
are in the llvm::MachO namespace.

llvm-svn: 108953
2010-07-20 22:36:00 +00:00
Dan Gohman
48a995f7e9 Rename removeAllMetadata to clearMetadataHashEntries and simplify
it to just do the things that need to be done when an instruction
is deleted.

llvm-svn: 108948
2010-07-20 22:25:04 +00:00
Jakob Stoklund Olesen
ed4075cc3b Implement loop splitting analysis.
Determine which loop exit blocks need a 'pre-exit' block inserted.
Recognize when this would be impossible.

llvm-svn: 108941
2010-07-20 21:46:58 +00:00
Dan Gohman
f9e6cc9af1 Remove an obsolete comment.
llvm-svn: 108940
2010-07-20 21:45:17 +00:00
Dan Gohman
43aa8f03c1 Add support for remapping metadata kind IDs when reading in a
bitcode file, so that two bitcode files where the same metadata kind
name happens to have been assigned a different ID can still be
linked together.

Eliminate the restriction that metadata kind IDs can't be 0.

Change MD_dbg from 1 to 0, because we can now, and because it's
less mysterious that way.

llvm-svn: 108939
2010-07-20 21:42:28 +00:00
Owen Anderson
4154061b92 Move more functionality from Pass.cpp to PassRegistry.cpp. This global will go away eventually, but for now we still need it around.
llvm-svn: 108932
2010-07-20 21:22:24 +00:00
Eric Christopher
bb610d9053 Formatting.
llvm-svn: 108926
2010-07-20 21:05:58 +00:00
Matt Fleming
0535f00eb6 Add the rest of the SHT_* values as defined in the System V ABI
ELF specification.

llvm-svn: 108924
2010-07-20 20:52:18 +00:00
Dan Gohman
47a0f0d56f Remove setDbgMetadata and getDbgMetadata; their users have been
replaced with setDebugLoc and getDebugLoc.

llvm-svn: 108914
2010-07-20 20:18:21 +00:00
Owen Anderson
660466ed42 I just fail with SVN today.
llvm-svn: 108888
2010-07-20 19:23:55 +00:00
Owen Anderson
2af72f623d Oops.
llvm-svn: 108885
2010-07-20 18:53:25 +00:00
Chris Lattner
979634bbb0 start straightening out libedis's dependencies and make it fit
better in the llvm world.  Among other things, this changes:

1. The guts of libedis are now moved into lib/MC/MCDisassembler
2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis,
   so edis and mc don't have to be built in series.
3. lib/MC/MCDisassembler no longer depends on the C api, the C
   API depends on it.
4. Various code cleanup changes. 

There is still a lot to be done to make edis fit with the llvm
design, but this is an incremental step in the right direction.

llvm-svn: 108869
2010-07-20 18:25:19 +00:00
Gabor Greif
b64d5b7202 remove testing cruft, this can be found in unittests/Support/Casting.cpp now
llvm-svn: 108868
2010-07-20 17:20:25 +00:00
Owen Anderson
3183ef1120 Pull out r108755. After offline discussion with Chris, we're going to go a different direction with this.
llvm-svn: 108856
2010-07-20 16:55:05 +00:00
Dan Gohman
4fd92434f1 Make getOrInsertCanonicalInductionVariable guarantee that its
result is a PHINode*.

llvm-svn: 108852
2010-07-20 16:44:52 +00:00
Owen Anderson
81781220d2 Speculatively revert r108813, in an attempt to get the self-host buildbots working again. I don't see why this patch
would cause them to fail the way they are, but none of the other intervening patches seem likely either.

llvm-svn: 108818
2010-07-20 08:26:15 +00:00
Eric Christopher
865f0473d0 Grammar.
llvm-svn: 108814
2010-07-20 06:56:13 +00:00
Owen Anderson
8dc129325f Reapply r108794, a fix for the failing test from last time.
llvm-svn: 108813
2010-07-20 06:52:42 +00:00
Eric Christopher
4adaccf0bf Constify some arguments.
llvm-svn: 108812
2010-07-20 06:52:21 +00:00
Daniel Dunbar
4a35d6f8cd Revert r108794, "Separate PassInfo into two classes: a constructor-free
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.

llvm-svn: 108805
2010-07-20 03:06:07 +00:00
Owen Anderson
e7c5fe586a Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).
llvm-svn: 108794
2010-07-20 01:19:58 +00:00
Stuart Hastings
61475c5c3c Correct line info for declarations/definitions. Radar 8063111.
llvm-svn: 108784
2010-07-19 23:56:30 +00:00
Evan Cheng
10f99a3490 ARM has to provide its own TargetLowering::findRepresentativeClass because its scalar floating point registers alias its vector registers.
llvm-svn: 108761
2010-07-19 22:15:08 +00:00
Owen Anderson
0edf6a1131 Change the implemented interfaces list on PassInfo from a std::vector to a manually implemented
linked list.  This is a little slower and involves more malloc'ing, but these lists are
typically short, and it allows PassInfo to be entirely constant initializable.

llvm-svn: 108755
2010-07-19 21:44:48 +00:00
Owen Anderson
0e41b1c9c0 Regenerate.
llvm-svn: 108738
2010-07-19 19:24:55 +00:00