Eric Christopher
ea5f4cc47c
Revert 109220.
...
llvm-svn: 109221
2010-07-23 08:53:17 +00:00
Gabor Greif
af73f58852
Simplifying use_iterators by dereferencing
...
is not a good idea. The codebase does not depend
in this any more, and it may introduce hidden
runtime cost. If you get compile errors, please
dereference your iterator before passing to cast<>
(and friends).
Also: please consider caching the result of
operator* and reusing that instead of dereferencing
many times.
llvm-svn: 109220
2010-07-23 08:36:07 +00:00
Mikhail Glushenkov
a73b239681
StringRef'icate.
...
llvm-svn: 109217
2010-07-23 04:19:39 +00:00
Mikhail Glushenkov
bbeb485c74
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
ab2419e712
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
8697533a43
modernize stringset interface
...
llvm-svn: 109212
2010-07-23 03:21:53 +00:00
Eric Christopher
4bedc1720a
Warnings patrol.
...
llvm-svn: 109174
2010-07-22 21:51:30 +00:00
Chris Lattner
a1dcdf0bd4
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
65ad913bec
remove the JIT "NeedsExactSize" feature and supporting logic.
...
llvm-svn: 109167
2010-07-22 21:17:55 +00:00
Gabor Greif
a1f9f82eb5
fit in 80 columns
...
llvm-svn: 109108
2010-07-22 14:13:14 +00:00
Duncan Sands
3fb5f1dccc
Increase the max physreg size. Patch by Pekka Jääskeläinen.
...
llvm-svn: 109102
2010-07-22 13:10:14 +00:00
Tobias Grosser
604a50cd71
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
3a876ca187
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
6c2677e83c
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
859ffd353e
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
b36d01c1b6
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
489d758ea8
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
2dc4ae051d
tidy up
...
llvm-svn: 109042
2010-07-21 22:04:53 +00:00
Owen Anderson
e8e8b5a744
Add the INITIALIZE_PASS macro.
...
llvm-svn: 109034
2010-07-21 20:46:41 +00:00
Dan Gohman
fc3ee085a0
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
5b941007ca
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
b0db34a612
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
f26c7a852f
Move the smarts of AnalysisGroup registration into PassRegistry.
...
llvm-svn: 109019
2010-07-21 17:52:45 +00:00
Dan Gohman
77fda3c4aa
Delete an obsolete comment.
...
llvm-svn: 109017
2010-07-21 17:21:27 +00:00
Gabor Greif
4718cad6ce
restore aesthetics
...
llvm-svn: 109001
2010-07-21 08:25:55 +00:00
Evan Cheng
df725c25dd
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
6265d52037
Move the handling of PassRegistrationListener's to PassRegistry.
...
llvm-svn: 108966
2010-07-20 23:41:56 +00:00
Greg Clayton
79c7edd75f
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
71724e8c7a
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
dcf78c06f8
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
5bb3ce490d
Remove an obsolete comment.
...
llvm-svn: 108940
2010-07-20 21:45:17 +00:00
Dan Gohman
b9a28557ea
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
2aafb91721
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
3ae12eb078
Formatting.
...
llvm-svn: 108926
2010-07-20 21:05:58 +00:00
Matt Fleming
b1d00d7c93
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
09c8c9c77c
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
6db80f9d90
I just fail with SVN today.
...
llvm-svn: 108888
2010-07-20 19:23:55 +00:00
Owen Anderson
92386f258c
Oops.
...
llvm-svn: 108885
2010-07-20 18:53:25 +00:00
Chris Lattner
1ac58ea0f3
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
1b0b3bc7e0
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
e5f3371961
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
0bfc6146bf
Make getOrInsertCanonicalInductionVariable guarantee that its
...
result is a PHINode*.
llvm-svn: 108852
2010-07-20 16:44:52 +00:00
Owen Anderson
5f218b8612
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
71a1a1a937
Grammar.
...
llvm-svn: 108814
2010-07-20 06:56:13 +00:00
Owen Anderson
cf625d0179
Reapply r108794, a fix for the failing test from last time.
...
llvm-svn: 108813
2010-07-20 06:52:42 +00:00
Eric Christopher
ff47f8d94f
Constify some arguments.
...
llvm-svn: 108812
2010-07-20 06:52:21 +00:00
Daniel Dunbar
3280e3aebf
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
3502f9a91b
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
587ed4918c
Correct line info for declarations/definitions. Radar 8063111.
...
llvm-svn: 108784
2010-07-19 23:56:30 +00:00
Evan Cheng
b2ad0066f5
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