Dan Gohman [Sat, 1 Aug 2009 19:14:37 +0000 (19:14 +0000)]
Minor code cleanups.
llvm-svn: 77795
Dan Gohman [Sat, 1 Aug 2009 19:13:38 +0000 (19:13 +0000)]
Print the target flags as an int instead of a char, as they aren't
actually characters.
llvm-svn: 77794
Dan Gohman [Sat, 1 Aug 2009 19:11:31 +0000 (19:11 +0000)]
Use the default copy ctor and copy-assignment operators.
llvm-svn: 77793
Dan Gohman [Sat, 1 Aug 2009 19:11:04 +0000 (19:11 +0000)]
Add nounwind to this test.
llvm-svn: 77792
Nick Lewycky [Sat, 1 Aug 2009 19:09:44 +0000 (19:09 +0000)]
Add newline at end of file to remove gcc warning.
llvm-svn: 77791
Benjamin Kramer [Sat, 1 Aug 2009 19:07:29 +0000 (19:07 +0000)]
Remove now empty unit test directory.
llvm-svn: 77790
Chris Lattner [Sat, 1 Aug 2009 18:38:21 +0000 (18:38 +0000)]
daniel says it's fine to nuke this.
llvm-svn: 77789
Chris Lattner [Sat, 1 Aug 2009 18:35:49 +0000 (18:35 +0000)]
update for new api
llvm-svn: 77788
Chris Lattner [Sat, 1 Aug 2009 18:25:49 +0000 (18:25 +0000)]
All MCSections are now required to have a SectionKind.
llvm-svn: 77787
Eli Friedman [Sat, 1 Aug 2009 17:10:21 +0000 (17:10 +0000)]
Add temp C++ include path for AuroraUX; patch by Edward O'Callaghan.
llvm-svn: 77786
Eli Friedman [Sat, 1 Aug 2009 16:37:18 +0000 (16:37 +0000)]
Hack to make this test work on platforms which aren't Macs. Fixing this
myself because I'm getting tired of seeing the red buildbots, which have
been red since 5:30PM PDT last night.
Proposed supplement to developer policy: committers should make sure to
be around to watch for buildbot failures after committing.
llvm-svn: 77785
Daniel Dunbar [Sat, 1 Aug 2009 10:18:01 +0000 (10:18 +0000)]
lit: Add internal script execution.
- Off by default, you can test it with the --no-sh argument.
- For me it works for all but 3 tests, but there a number of FIXMEs and QOI
issues:
o Redirection isn't completely accurate -- in practice it can't portably
be, but I would like to error out if someone writes something which isn't
going to work. This is the source of the 3 test failures.
o Some pipe configurations have the potential to deadlock.
o It is significantly slower when multithreaded. I believe this is due to
locking happening under the hood, there is probably some kind of solution
but I haven't investigated yet.
o Log output is ugly.
llvm-svn: 77784
Daniel Dunbar [Sat, 1 Aug 2009 09:41:09 +0000 (09:41 +0000)]
lit: Two more sh lex/parse bugs (but its so simple!)
- Empty arguments weren't handled correctly.
- Escapes outside quoted strings weren't handled.
llvm-svn: 77783
Ted Kremenek [Sat, 1 Aug 2009 06:17:29 +0000 (06:17 +0000)]
This is a fairly large patch, which resulted from a cascade of changes
made to RegionStore (and related classes) in order to handle some
analyzer failures involving casts and manipulation of symbolic memory.
The root of the change is in StoreManager::CastRegion(). Instead of
using ad hoc heuristics to decide when to layer an ElementRegion on a
casted MemRegion, we now always layer an ElementRegion when the cast
type is different than the original type of the region. This carries
the current cast information associated with a region around without
resorting to the error prone recording of "casted types" in GRState.
Along with this new policy of layering ElementRegions, I added a new
algorithm to strip away existing ElementRegions when they simply
represented casts of a base memory object. This algorithm computes
the raw "byte offset" that an ElementRegion represents from the base
region, and allows the new ElementRegion to be based off that offset.
The added benefit is that this naturally handles a series of casts of
a MemRegion without building up a set of redundant ElementRegions
(thus canonicalizing the region view).
Other related changes that cascaded from this one (as tests were
failing in RegionStore):
- Revamped RegionStoreManager::InvalidateRegion() to completely remove
all bindings and default values from a region and all subregions.
Now invalidated fields are not bound directly to new symbolic
values; instead the base region has a "default" symbol value from
which "derived symbols" can be created. The main advantage of this
approach is that it allows us to invalidate a region hierarchy and
then lazily instantiate new values no matter how deep the hierarchy
went (i.e., regardless of the number of field accesses,
e.g. x->f->y->z->...). The previous approach did not do this.
- Slightly reworked RegionStoreManager::RemoveDeadBindings() to also
incorporate live symbols and live regions that do not have direct
bindings but also have "default values" used for lazy instantiation.
The changes to 'InvalidateRegion' revealed that these were necessary
in order to achieve lazy instantiation of values in the region store
with those bindings being removed too early.
- The changes to InvalidateRegion() and RemoveDeadBindings() revealed
a serious bug in 'getSubRegionMap()' where not all region -> subregion
relationships involved in actually bindings (explicit and implicit)
were being recorded. This has been fixed by using a worklist algorithm
to iteratively fill in the region map.
- Added special support to RegionStoreManager::Bind()/Retrieve() to handle
OSAtomicCompareAndSwap in light of the new 'CastRegion' changes and the
layering of ElementRegions.
- Fixed a bug in SymbolReaper::isLive() where derived symbols were not
being marked live if the symbol they were derived from was also live.
This fix was critical for getting lazy instantiation in RegionStore
to work.
- Tidied up the implementation of ValueManager::getXXXSymbolVal() methods
to use SymbolManager::canSymbolicate() to decide whether or not a
symbol should be symbolicated.
- 'test/Analysis/misc-ps-xfail.m' now passes; that test case has been
moved to 'test/Analysis/misc-ps.m'.
- Tweaked some pretty-printing of MemRegions, and implemented
'ElementRegion::getRawOffset()' for use with the CastRegion changes.
llvm-svn: 77782
Evan Cheng [Sat, 1 Aug 2009 06:13:52 +0000 (06:13 +0000)]
Workaround a couple of Darwin assembler bugs.
llvm-svn: 77781
Daniel Dunbar [Sat, 1 Aug 2009 06:07:15 +0000 (06:07 +0000)]
Ok, ok, I give in. Fix tests for unused result warning.
llvm-svn: 77780
Ted Kremenek [Sat, 1 Aug 2009 05:59:39 +0000 (05:59 +0000)]
Temporarily disable out-of-bounds checking. The current checking logic will not work quite right with the changes I'm about to commit.
llvm-svn: 77779
Daniel Dunbar [Sat, 1 Aug 2009 05:57:38 +0000 (05:57 +0000)]
Use %S, not `pwd`, and enable a line that *does* work.
- Doug, please check.
llvm-svn: 77778
Daniel Dunbar [Sat, 1 Aug 2009 05:52:04 +0000 (05:52 +0000)]
lit: Fix two sh lexing bugs.
- '\\\\' inside a "..." string becomes '\\'.
- The '<' token wasn't being recognized.
llvm-svn: 77777
Daniel Dunbar [Sat, 1 Aug 2009 04:51:30 +0000 (04:51 +0000)]
'unset' isn't needed in these tests anymore, we always run with a controlled
environment.
llvm-svn: 77776
Dan Gohman [Sat, 1 Aug 2009 04:19:43 +0000 (04:19 +0000)]
Give MachineFunctionAnalysis a destructor so it can verify that
that it released its allocated memory.
llvm-svn: 77775
Dan Gohman [Sat, 1 Aug 2009 04:18:29 +0000 (04:18 +0000)]
Delete a redundant variable.
llvm-svn: 77774
Daniel Dunbar [Sat, 1 Aug 2009 04:11:36 +0000 (04:11 +0000)]
lit: Fix a name lookup problem, which only occurred on a race condition. This is
why dynamic binding sucks.
llvm-svn: 77773
Daniel Dunbar [Sat, 1 Aug 2009 04:06:02 +0000 (04:06 +0000)]
lit: Pull a few more variables into the TestingConfig object.
llvm-svn: 77772
Dan Gohman [Sat, 1 Aug 2009 03:51:09 +0000 (03:51 +0000)]
Minor code simplifications.
llvm-svn: 77769
Dan Gohman [Sat, 1 Aug 2009 03:42:59 +0000 (03:42 +0000)]
Minor code simplifications.
llvm-svn: 77768
Daniel Dunbar [Sat, 1 Aug 2009 03:37:54 +0000 (03:37 +0000)]
Avoid a problem with ulimit on Solaris & friends, patch by Edward O'Callaghan!
llvm-svn: 77767
Daniel Dunbar [Sat, 1 Aug 2009 03:35:40 +0000 (03:35 +0000)]
lit: Don't use threads when only running one test, or with -j 1.
llvm-svn: 77766
Daniel Dunbar [Sat, 1 Aug 2009 03:22:27 +0000 (03:22 +0000)]
MultiTestRunner: Add 'sh' parsing to ShUtil.
llvm-svn: 77765
Evan Cheng [Sat, 1 Aug 2009 01:43:45 +0000 (01:43 +0000)]
Split t2MOVCCs since some assemblers do not recognize mov shifted register alias with predicate.
llvm-svn: 77764
Anders Carlsson [Sat, 1 Aug 2009 01:39:59 +0000 (01:39 +0000)]
More warnings for unused expressions.
llvm-svn: 77763
Ted Kremenek [Sat, 1 Aug 2009 01:28:23 +0000 (01:28 +0000)]
Make default ctor for ImmutableSet::iterator public.
llvm-svn: 77762
Daniel Dunbar [Sat, 1 Aug 2009 00:48:30 +0000 (00:48 +0000)]
llvm-mc: More quoted identifier support.
llvm-svn: 77761
Dan Gohman [Sat, 1 Aug 2009 00:42:23 +0000 (00:42 +0000)]
SelectionDAGISel no longer needs to check hasAvailableExternallyLinkage,
as it is now a MachineFunctionPass, and MachineFunctionPass now handles
this.
llvm-svn: 77760
Dan Gohman [Sat, 1 Aug 2009 00:34:30 +0000 (00:34 +0000)]
Make UnreachableMachineBlockElim preserve MachineDominatorTree and
MachineLoopInfo.
llc now runs MachineLoopInfo and MachineDominatorTree only twice, instead
of three times.
llvm-svn: 77759
Dan Gohman [Sat, 1 Aug 2009 00:31:02 +0000 (00:31 +0000)]
The X86 maximal stack alignment calculator preserves the CFG. Also,
be more careful about the return value of runOnMachineFunction.
llvm-svn: 77758
Dan Gohman [Sat, 1 Aug 2009 00:26:16 +0000 (00:26 +0000)]
X86 floating-point passes don't modify the CFG.
llvm-svn: 77757
Evan Cheng [Sat, 1 Aug 2009 00:16:10 +0000 (00:16 +0000)]
Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the same
instructions for calls since BL and BLX are always 32-bit long and BX is always
16-bit long.
Also, we should be using BLX to call external function stubs.
llvm-svn: 77756
Dan Gohman [Fri, 31 Jul 2009 23:44:16 +0000 (23:44 +0000)]
Use setPreservesAll in X86CodeEmitter.
llvm-svn: 77755
Dan Gohman [Fri, 31 Jul 2009 23:37:33 +0000 (23:37 +0000)]
Use setPreservesAll and setPreservesCFG in CodeGen passes.
llvm-svn: 77754
Dan Gohman [Fri, 31 Jul 2009 23:36:22 +0000 (23:36 +0000)]
SelectionDAGISel does not "preserve all", since it makes lots of changes
to the MachineFunction.
llvm-svn: 77753
Dan Gohman [Fri, 31 Jul 2009 23:36:06 +0000 (23:36 +0000)]
Use a range insert instead of an explicit loop.
llvm-svn: 77752
Mike Stump [Fri, 31 Jul 2009 23:15:31 +0000 (23:15 +0000)]
Add beginnigs of rtti generation, wire up more of -fno-exceptions.
llvm-svn: 77751
Daniel Dunbar [Fri, 31 Jul 2009 23:13:12 +0000 (23:13 +0000)]
llvm-mc: Add -triple, and fix some typos
llvm-svn: 77750
Daniel Dunbar [Fri, 31 Jul 2009 23:04:32 +0000 (23:04 +0000)]
llvm-mc: Fix .s output to quote section & symbol names when necessary.
llvm-svn: 77749
Owen Anderson [Fri, 31 Jul 2009 22:45:43 +0000 (22:45 +0000)]
Privatize all but one of the remaining constant tables.
llvm-svn: 77748
Bob Wilson [Fri, 31 Jul 2009 22:41:21 +0000 (22:41 +0000)]
Allow target intrinsics that return multiple values, i.e., struct types,
in SelectionDAGLowering::visitTargetIntrinsic.
This removes a bit of special-case code for vector types. After staring
at it for a while, I managed to convince myself that it is not necessary.
The only case where TLI.getValueType() differs from MVT::getMVT is for iPTR,
so this code could potentially make a difference for a vector of pointers.
But, it looks like that is not supported. Calling TLI.getValueType() on
a vector of pointers leads to the following sequence of calls:
TargetLowering::getValueType
MVT::getMVT
MVT::getVectorVT(iPTR, num elements)
MVT::getExtendedVectorVT
MVT::getTypeForMVT for iPTR
assertion fails "Type is not extended!"
So, unless I'm really missing something, this bit of code is irrelevant to
the current version of LLVM, which is consistent with the fact that I don't
see this code in other similar places.
llvm-svn: 77747
Mikhail Glushenkov [Fri, 31 Jul 2009 22:24:20 +0000 (22:24 +0000)]
Add a warning.
llvm-svn: 77746
Daniel Dunbar [Fri, 31 Jul 2009 22:22:54 +0000 (22:22 +0000)]
llvm-mc: A few more parsing / match tweaks.
- Operands which are just a label should be parsed as immediates, not memory
operands (from the assembler perspective).
- Match a few more flavors of immediates.
- Distinguish match functions for memory operands which don't take a segment
register.
- We match the .s for "hello world" now!
llvm-svn: 77745
Evan Cheng [Fri, 31 Jul 2009 22:22:22 +0000 (22:22 +0000)]
t2BR_JT is mov pc, it's 2 byte long, not 4.
llvm-svn: 77744
Evan Cheng [Fri, 31 Jul 2009 22:21:55 +0000 (22:21 +0000)]
Thumb2 movcc need .w suffix.
llvm-svn: 77743
Chris Lattner [Fri, 31 Jul 2009 22:18:14 +0000 (22:18 +0000)]
add some comments on how this is *supposed* to work. We don't
need the PreferredEHDataFormat hook, but I have yet-more refactoring to
do before I can zap it.
llvm-svn: 77742
Chris Lattner [Fri, 31 Jul 2009 22:03:47 +0000 (22:03 +0000)]
rearrange a conditional. Even if this weren't #if 0'd out, this would
have no functionality change.
llvm-svn: 77741
David Greene [Fri, 31 Jul 2009 21:57:10 +0000 (21:57 +0000)]
Simplify operand padding by keying off tabs in the asm stream. If
padding is disabled, tabs get replaced by spaces except in the case of
the first operand, where the tab is output to line up the operands after
the mnemonics.
Add some better comments and eliminate redundant code.
Fix some testcases to not assume tabs.
llvm-svn: 77740
Daniel Dunbar [Fri, 31 Jul 2009 21:55:09 +0000 (21:55 +0000)]
llvm-mc: Support quoted identifiers.
- Uses MCAsmToken::getIdentifier which returns the (sub)string representing the
meaningfull contents a string or identifier token.
- Directives aren't done yet.
llvm-svn: 77739
Anders Carlsson [Fri, 31 Jul 2009 21:48:56 +0000 (21:48 +0000)]
Remove the old struct builder code.
llvm-svn: 77738
Mike Stump [Fri, 31 Jul 2009 21:43:43 +0000 (21:43 +0000)]
And now we can generate a simple vtable. Still a work in progress...
llvm-svn: 77737
Chris Lattner [Fri, 31 Jul 2009 21:39:55 +0000 (21:39 +0000)]
PreferredEHDataFormat is always call with data and global, but this whole
thing is #if0'd out anyway. Just simplify the code by reducing the interface.
Not deleting this is essential for Bill's continuing happiness.
llvm-svn: 77736
Anders Carlsson [Fri, 31 Jul 2009 21:38:39 +0000 (21:38 +0000)]
Move code from EmitUnion directly into the function that handles cast-to-union.
llvm-svn: 77735
Owen Anderson [Fri, 31 Jul 2009 21:38:10 +0000 (21:38 +0000)]
Fix unit tests.
llvm-svn: 77734
Owen Anderson [Fri, 31 Jul 2009 21:35:40 +0000 (21:35 +0000)]
Move the metadata constructors back to 2.5 syntax.
llvm-svn: 77733
Anders Carlsson [Fri, 31 Jul 2009 21:34:04 +0000 (21:34 +0000)]
Use the struct builder for unions.
llvm-svn: 77732
Mike Stump [Fri, 31 Jul 2009 21:31:32 +0000 (21:31 +0000)]
Fixup spacing and 80-col violations.
llvm-svn: 77731
Benjamin Kramer [Fri, 31 Jul 2009 20:56:31 +0000 (20:56 +0000)]
Update unittest for LLVM API change.
llvm-svn: 77730
Dan Gohman [Fri, 31 Jul 2009 20:56:29 +0000 (20:56 +0000)]
LibCallAliasAnalysis doesn't use TargetData.
llvm-svn: 77729
Daniel Dunbar [Fri, 31 Jul 2009 20:53:16 +0000 (20:53 +0000)]
llvm-mc/X86: Sketch match functions for immediates and memory operands.
Also, change scale value to always be 1 when unspecified to machine MachineInst
encoding.
llvm-svn: 77728
Dan Gohman [Fri, 31 Jul 2009 20:53:12 +0000 (20:53 +0000)]
Make TargetData optional in MemoryDependenceAnalysis.
llvm-svn: 77727
Chris Lattner [Fri, 31 Jul 2009 20:52:39 +0000 (20:52 +0000)]
move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to
indicate that it is a predicate, not an emitter. This eliminates TAI
dependencies on Mangler and GlobalValue.
llvm-svn: 77726
Dan Gohman [Fri, 31 Jul 2009 20:47:45 +0000 (20:47 +0000)]
Remove an unnecessary header.
llvm-svn: 77725
Chris Lattner [Fri, 31 Jul 2009 20:43:26 +0000 (20:43 +0000)]
remove the PPCLinuxTargetAsmInfo implementation of PreferredEHDataFormat,
because it just calls the default impl.
Remove the PPCDarwinTargetAsmInfo version of PreferredEHDataFormat because
it just returns DW_EH_PE_absptr unless on 10.6. However, 10.6 doesn't support
PPC, so the default impl is just fine.
llvm-svn: 77724
Chris Lattner [Fri, 31 Jul 2009 20:36:15 +0000 (20:36 +0000)]
remove a pointless override.
llvm-svn: 77723
Owen Anderson [Fri, 31 Jul 2009 20:28:54 +0000 (20:28 +0000)]
Update for LLVM API change.
llvm-svn: 77722
Owen Anderson [Fri, 31 Jul 2009 20:28:14 +0000 (20:28 +0000)]
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
Dan Gohman [Fri, 31 Jul 2009 20:24:18 +0000 (20:24 +0000)]
Fix GVN's debug output, now that operator<< on Value* doesn't print
a trailing newline.
llvm-svn: 77719
Eric Christopher [Fri, 31 Jul 2009 20:07:27 +0000 (20:07 +0000)]
Whitespace and 80-col cleanup.
llvm-svn: 77718
Bill Wendling [Fri, 31 Jul 2009 19:52:24 +0000 (19:52 +0000)]
- Convert the rest of the DOUTs to DEBUG+errs().
- One formatting change.
No intended functionality change.
llvm-svn: 77717
Eli Friedman [Fri, 31 Jul 2009 19:36:47 +0000 (19:36 +0000)]
PR4662: Fix a crash introduced by the recent LLVMContext changes.
llvm-svn: 77716
Dan Gohman [Fri, 31 Jul 2009 19:26:54 +0000 (19:26 +0000)]
Fix a typo in a comment.
llvm-svn: 77715
Benjamin Kramer [Fri, 31 Jul 2009 19:12:33 +0000 (19:12 +0000)]
Adjust unit test for the MCSection changes.
llvm-svn: 77714
Argyrios Kyrtzidis [Fri, 31 Jul 2009 19:02:11 +0000 (19:02 +0000)]
For a CXXOperatorCallExpr, fix the order that StmtLocResolver uses to check subexpressions.
llvm-svn: 77713
Dan Gohman [Fri, 31 Jul 2009 18:59:29 +0000 (18:59 +0000)]
Delete spurious semicolons.
llvm-svn: 77712
Benjamin Kramer [Fri, 31 Jul 2009 18:58:46 +0000 (18:58 +0000)]
Fix build.
llvm-svn: 77711
Ted Kremenek [Fri, 31 Jul 2009 18:50:22 +0000 (18:50 +0000)]
Update CMake files.
llvm-svn: 77709
Chris Lattner [Fri, 31 Jul 2009 18:48:30 +0000 (18:48 +0000)]
switch off of 'Section' onto MCSection. We're not properly using
MCSection subclasses yet, but this is a step in the right direction.
llvm-svn: 77708
Douglas Gregor [Fri, 31 Jul 2009 18:36:42 +0000 (18:36 +0000)]
Make the recanonicalization-for-an-out-of-line-definition test case a bit trickier
llvm-svn: 77707
Dan Gohman [Fri, 31 Jul 2009 18:36:25 +0000 (18:36 +0000)]
Remove Annotation.h, which is no longer used in the LLVM tree.
llvm-svn: 77706
Evan Cheng [Fri, 31 Jul 2009 18:35:56 +0000 (18:35 +0000)]
Until we have a "ALIGN" pseudo instruction, have asm printer emitted a .align
to ensure the instruction that follows a TBB (when the number of table entries
is odd) is 2-byte aligned.
Patch by Sandeep Patel.
llvm-svn: 77705
Dan Gohman [Fri, 31 Jul 2009 18:35:51 +0000 (18:35 +0000)]
MachineFunction no longer needs Annotation.
llvm-svn: 77704
Douglas Gregor [Fri, 31 Jul 2009 18:34:30 +0000 (18:34 +0000)]
Allow one to update the type representation of the declaration specifiers. Will be used by an upcoming commit.
llvm-svn: 77703
Douglas Gregor [Fri, 31 Jul 2009 18:32:42 +0000 (18:32 +0000)]
Remove a redundant getCanonicalType call
llvm-svn: 77702
Evan Cheng [Fri, 31 Jul 2009 18:28:05 +0000 (18:28 +0000)]
- Teach TBB / TBH offset limits are 510 and 131070 respectively since the offset
is scaled by two.
- Teach GetInstSizeInBytes about TBB and TBH.
llvm-svn: 77701
Chris Lattner [Fri, 31 Jul 2009 18:27:48 +0000 (18:27 +0000)]
fix some more issues where we expected GetSection to do "get or create"
llvm-svn: 77700
Mike Stump [Fri, 31 Jul 2009 18:25:34 +0000 (18:25 +0000)]
Add code to setup the vtable pointer in the constructor. Work in progress.
llvm-svn: 77699
Devang Patel [Fri, 31 Jul 2009 18:24:12 +0000 (18:24 +0000)]
New test case for rev. 77694.
llvm-svn: 77698
Dan Gohman [Fri, 31 Jul 2009 18:23:24 +0000 (18:23 +0000)]
Fix printing of Alloca instructions with null operands.
llvm-svn: 77697
Dan Gohman [Fri, 31 Jul 2009 18:21:48 +0000 (18:21 +0000)]
Fix some problems with ASTCallbackVH in its use as a DenseMap key.
llvm-svn: 77696
Dan Gohman [Fri, 31 Jul 2009 18:20:18 +0000 (18:20 +0000)]
Teach ValueHandleBase to treat DenseMap's special Empty and Tombstone
values the same way it treats null pointers. This is needed to allow
CallbackVH to be used as a key in a DenseMap.
llvm-svn: 77695
Devang Patel [Fri, 31 Jul 2009 18:18:52 +0000 (18:18 +0000)]
Process DbgDeclareInst.
llvm-svn: 77694
Dan Gohman [Fri, 31 Jul 2009 18:18:19 +0000 (18:18 +0000)]
Split DenseMapInfo into a separate header file, so that it can be
included separately.
llvm-svn: 77693
Daniel Dunbar [Fri, 31 Jul 2009 18:16:53 +0000 (18:16 +0000)]
Normalize target registration code.
llvm-svn: 77692