oota-llvm.git
14 years agoSimplify operand padding by keying off tabs in the asm stream. If
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77740 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc: Support quoted identifiers.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77739 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPreferredEHDataFormat is always call with data and global, but this whole
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77736 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix unit tests.
Owen Anderson [Fri, 31 Jul 2009 21:38:10 +0000 (21:38 +0000)]
Fix unit tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77734 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove the metadata constructors back to 2.5 syntax.
Owen Anderson [Fri, 31 Jul 2009 21:35:40 +0000 (21:35 +0000)]
Move the metadata constructors back to 2.5 syntax.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77733 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate unittest for LLVM API change.
Benjamin Kramer [Fri, 31 Jul 2009 20:56:31 +0000 (20:56 +0000)]
Update unittest for LLVM API change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77730 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLibCallAliasAnalysis doesn't use TargetData.
Dan Gohman [Fri, 31 Jul 2009 20:56:29 +0000 (20:56 +0000)]
LibCallAliasAnalysis doesn't use TargetData.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77729 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc/X86: Sketch match functions for immediates and memory operands.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77728 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake TargetData optional in MemoryDependenceAnalysis.
Dan Gohman [Fri, 31 Jul 2009 20:53:12 +0000 (20:53 +0000)]
Make TargetData optional in MemoryDependenceAnalysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77727 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77726 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove an unnecessary header.
Dan Gohman [Fri, 31 Jul 2009 20:47:45 +0000 (20:47 +0000)]
Remove an unnecessary header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77725 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove the PPCLinuxTargetAsmInfo implementation of PreferredEHDataFormat,
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77724 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove a pointless override.
Chris Lattner [Fri, 31 Jul 2009 20:36:15 +0000 (20:36 +0000)]
remove a pointless override.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77723 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove a few more APIs back to 2.5 forms. The only remaining ones left to change back are
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix GVN's debug output, now that operator<< on Value* doesn't print
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77719 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhitespace and 80-col cleanup.
Eric Christopher [Fri, 31 Jul 2009 20:07:27 +0000 (20:07 +0000)]
Whitespace and 80-col cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77718 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago- Convert the rest of the DOUTs to DEBUG+errs().
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77717 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPR4662: Fix a crash introduced by the recent LLVMContext changes.
Eli Friedman [Fri, 31 Jul 2009 19:36:47 +0000 (19:36 +0000)]
PR4662: Fix a crash introduced by the recent LLVMContext changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77716 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a typo in a comment.
Dan Gohman [Fri, 31 Jul 2009 19:26:54 +0000 (19:26 +0000)]
Fix a typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77715 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdjust unit test for the MCSection changes.
Benjamin Kramer [Fri, 31 Jul 2009 19:12:33 +0000 (19:12 +0000)]
Adjust unit test for the MCSection changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77714 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDelete spurious semicolons.
Dan Gohman [Fri, 31 Jul 2009 18:59:29 +0000 (18:59 +0000)]
Delete spurious semicolons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77712 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix build.
Benjamin Kramer [Fri, 31 Jul 2009 18:58:46 +0000 (18:58 +0000)]
Fix build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77711 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake files.
Ted Kremenek [Fri, 31 Jul 2009 18:50:22 +0000 (18:50 +0000)]
Update CMake files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77709 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoswitch off of 'Section' onto MCSection. We're not properly using
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77708 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove Annotation.h, which is no longer used in the LLVM tree.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77706 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUntil we have a "ALIGN" pseudo instruction, have asm printer emitted a .align
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77705 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMachineFunction no longer needs Annotation.
Dan Gohman [Fri, 31 Jul 2009 18:35:51 +0000 (18:35 +0000)]
MachineFunction no longer needs Annotation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77704 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago- Teach TBB / TBH offset limits are 510 and 131070 respectively since the offset
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77701 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix some more issues where we expected GetSection to do "get or create"
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"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77700 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix printing of Alloca instructions with null operands.
Dan Gohman [Fri, 31 Jul 2009 18:23:24 +0000 (18:23 +0000)]
Fix printing of Alloca instructions with null operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77697 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix some problems with ASTCallbackVH in its use as a DenseMap key.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77696 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTeach ValueHandleBase to treat DenseMap's special Empty and Tombstone
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77695 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProcess DbgDeclareInst.
Devang Patel [Fri, 31 Jul 2009 18:18:52 +0000 (18:18 +0000)]
Process DbgDeclareInst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77694 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSplit DenseMapInfo into a separate header file, so that it can be
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77693 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNormalize target registration code.
Daniel Dunbar [Fri, 31 Jul 2009 18:16:53 +0000 (18:16 +0000)]
Normalize target registration code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77692 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage
Dan Gohman [Fri, 31 Jul 2009 18:16:33 +0000 (18:16 +0000)]
Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage
shouldn't do AU.setPreservesCFG(), because even though CodeGen passes
don't modify the LLVM IR CFG, they may modify the MachineFunction CFG,
and passes like MachineLoop are registered with isCFGOnly set to true.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77691 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix a bunch of failing tests now that MCContext::GetSection doesn't create sections.
Chris Lattner [Fri, 31 Jul 2009 17:47:16 +0000 (17:47 +0000)]
fix a bunch of failing tests now that MCContext::GetSection doesn't create sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77689 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorefactor section construction in TLOF to be through an explicit
Chris Lattner [Fri, 31 Jul 2009 17:42:42 +0000 (17:42 +0000)]
refactor section construction in TLOF to be through an explicit
initialize method, which can be called when an MCContext is available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77687 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove getTrue() and getFalse() to 2.5-like APIs.
Owen Anderson [Fri, 31 Jul 2009 17:39:07 +0000 (17:39 +0000)]
Move getTrue() and getFalse() to 2.5-like APIs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77685 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosplit MCSection stuff out to its own .cpp file, add a new
Chris Lattner [Fri, 31 Jul 2009 17:02:00 +0000 (17:02 +0000)]
split MCSection stuff out to its own .cpp file, add a new
MCSectionWithKind subclass of MCSection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77684 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove the sectionkind and section classes to TargetLoweringObjectFile.h
Chris Lattner [Fri, 31 Jul 2009 16:47:16 +0000 (16:47 +0000)]
move the sectionkind and section classes to TargetLoweringObjectFile.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77681 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocreate sections with MCSection::Create instead of Context->getOrCreateSection.
Chris Lattner [Fri, 31 Jul 2009 16:43:49 +0000 (16:43 +0000)]
create sections with MCSection::Create instead of Context->getOrCreateSection.
This is needed to allow polymorphic sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77680 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix PR4650: we only track sizes for certain objects, so only put something
Chris Lattner [Fri, 31 Jul 2009 16:17:13 +0000 (16:17 +0000)]
fix PR4650: we only track sizes for certain objects, so only put something
into the mergable section if it is one of our special cases.  This could
obviously be improved, but this is the minimal fix and restores us to the
previous behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77679 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWork around a dangling pointer dereference when enumerating NamedMDNodes.
Benjamin Kramer [Fri, 31 Jul 2009 14:22:13 +0000 (14:22 +0000)]
Work around a dangling pointer dereference when enumerating NamedMDNodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77675 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a struct/class mismatch, to silence a MSVC warning.
Benjamin Kramer [Fri, 31 Jul 2009 11:35:26 +0000 (11:35 +0000)]
Fix a struct/class mismatch, to silence a MSVC warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77673 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodefine target names for std libcalls.
Sanjiv Gupta [Fri, 31 Jul 2009 07:35:57 +0000 (07:35 +0000)]
define target names for std libcalls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77667 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd this test back, the check pattern was too strict.
Daniel Dunbar [Fri, 31 Jul 2009 03:11:49 +0000 (03:11 +0000)]
Add this test back, the check pattern was too strict.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77662 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r77654, it appears to be causing llvm-gcc bootstrap failures, and many
Daniel Dunbar [Fri, 31 Jul 2009 03:02:41 +0000 (03:02 +0000)]
Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and many
failures when building assorted projects with clang.

--- Reverse-merging r77654 into '.':
U    include/llvm/CodeGen/Passes.h
U    include/llvm/CodeGen/MachineFunctionPass.h
U    include/llvm/CodeGen/MachineFunction.h
U    include/llvm/CodeGen/LazyLiveness.h
U    include/llvm/CodeGen/SelectionDAGISel.h
D    include/llvm/CodeGen/MachineFunctionAnalysis.h
U    include/llvm/Function.h
U    lib/Target/CellSPU/SPUISelDAGToDAG.cpp
U    lib/Target/PowerPC/PPCISelDAGToDAG.cpp
U    lib/CodeGen/LLVMTargetMachine.cpp
U    lib/CodeGen/MachineVerifier.cpp
U    lib/CodeGen/MachineFunction.cpp
U    lib/CodeGen/PrologEpilogInserter.cpp
U    lib/CodeGen/MachineLoopInfo.cpp
U    lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
D    lib/CodeGen/MachineFunctionAnalysis.cpp
D    lib/CodeGen/MachineFunctionPass.cpp
U    lib/CodeGen/LiveVariables.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77661 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove this test while I figure out why it is failing.
Daniel Dunbar [Fri, 31 Jul 2009 02:46:36 +0000 (02:46 +0000)]
Remove this test while I figure out why it is failing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77659 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-mc: Match a few X86 instructions.
Daniel Dunbar [Fri, 31 Jul 2009 02:32:59 +0000 (02:32 +0000)]
llvm-mc: Match a few X86 instructions.
 - This is "experimental" code, I am feeling my way around and working out the
   best way to do things (and learning tblgen in the process). Comments welcome,
   but keep in mind this stuff will change radically.

 - This is enough to match "subb" and friends, but not much else. The next step is to
   automatically generate the matchers for individual operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77657 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoManage MachineFunctions with an analysis Pass instead of the Annotable
Dan Gohman [Fri, 31 Jul 2009 01:52:50 +0000 (01:52 +0000)]
Manage MachineFunctions with an analysis Pass instead of the Annotable
mechanism. To support this, make MachineFunctionPass a little more
complete.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77654 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix cmake build.
Benjamin Kramer [Fri, 31 Jul 2009 00:35:23 +0000 (00:35 +0000)]
Fix cmake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77649 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd getOrInsertNamedMetadata().
Devang Patel [Thu, 30 Jul 2009 23:59:04 +0000 (23:59 +0000)]
Add getOrInsertNamedMetadata().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77646 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd addElement().
Devang Patel [Thu, 30 Jul 2009 23:57:23 +0000 (23:57 +0000)]
Add addElement().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77645 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhen fp is not eliminated, instructions with T2_i12 modes will be changed to T2_i8...
Evan Cheng [Thu, 30 Jul 2009 23:29:25 +0000 (23:29 +0000)]
When fp is not eliminated, instructions with T2_i12 modes will be changed to T2_i8 ones. Take that into consideration when determining stack size limit for reserving register scavenging slot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77642 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemoved the BigBlock register allocator.
Lang Hames [Thu, 30 Jul 2009 23:18:43 +0000 (23:18 +0000)]
Removed the BigBlock register allocator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77640 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not use abbrev while writing NamedMDNode name.
Devang Patel [Thu, 30 Jul 2009 23:06:35 +0000 (23:06 +0000)]
Do not use abbrev while writing NamedMDNode name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77637 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEnumerate NamedMDNode elements first.
Devang Patel [Thu, 30 Jul 2009 23:03:43 +0000 (23:03 +0000)]
Enumerate NamedMDNode elements first.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77636 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove more code back to 2.5 APIs.
Owen Anderson [Thu, 30 Jul 2009 23:03:37 +0000 (23:03 +0000)]
Move more code back to 2.5 APIs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle NamedMDNode.
Devang Patel [Thu, 30 Jul 2009 23:03:19 +0000 (23:03 +0000)]
Handle NamedMDNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77633 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove redundant match for frame index from imm8 addrmode, it is handled by the imm12...
David Goodwin [Thu, 30 Jul 2009 22:45:52 +0000 (22:45 +0000)]
Remove redundant match for frame index from imm8 addrmode, it is handled by the imm12 addrmode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77632 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDarwin assembler now recognizes "orn", so remove workaround.
David Goodwin [Thu, 30 Jul 2009 21:51:41 +0000 (21:51 +0000)]
Darwin assembler now recognizes "orn", so remove workaround.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77627 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDarwin assembler now supports "rrx", so remove workaround.
David Goodwin [Thu, 30 Jul 2009 21:38:40 +0000 (21:38 +0000)]
Darwin assembler now supports "rrx", so remove workaround.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77625 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTwine: Directly support int, long, and long long types.
Daniel Dunbar [Thu, 30 Jul 2009 21:15:14 +0000 (21:15 +0000)]
Twine: Directly support int, long, and long long types.
 - This should resolve Cygwin gcc ambiguities.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77624 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse CallbackVH in AliasSetTracker to avoid getting stuck with
Dan Gohman [Thu, 30 Jul 2009 20:21:41 +0000 (20:21 +0000)]
Use CallbackVH in AliasSetTracker to avoid getting stuck with
dangling Value*s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77623 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup and include code selection for some frame index cases.
David Goodwin [Thu, 30 Jul 2009 18:56:48 +0000 (18:56 +0000)]
Cleanup and include code selection for some frame index cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77622 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoStart using DebugInfoFinder.
Devang Patel [Thu, 30 Jul 2009 18:56:46 +0000 (18:56 +0000)]
Start using DebugInfoFinder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77621 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not use getNamedValue() to lookup NamedMDNode. NamedMDNode is not a GlobalValue.
Devang Patel [Thu, 30 Jul 2009 18:46:29 +0000 (18:46 +0000)]
Do not use getNamedValue() to lookup NamedMDNode. NamedMDNode is not a GlobalValue.
Thanks Benjamin Kramer!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77619 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix MetadataBase::classof().
Devang Patel [Thu, 30 Jul 2009 18:45:09 +0000 (18:45 +0000)]
Fix MetadataBase::classof().
Thanks Benjamin Kramer!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77618 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTwine: Use raw_ostream::write_hex, remove unused itohexstr method.
Daniel Dunbar [Thu, 30 Jul 2009 18:30:19 +0000 (18:30 +0000)]
Twine: Use raw_ostream::write_hex, remove unused itohexstr method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77617 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove unintended changes.
Daniel Dunbar [Thu, 30 Jul 2009 18:29:44 +0000 (18:29 +0000)]
Remove unintended changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77616 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agos/DebugInfoEnumerator/DebugInfoFinder/g
Devang Patel [Thu, 30 Jul 2009 18:25:15 +0000 (18:25 +0000)]
s/DebugInfoEnumerator/DebugInfoFinder/g

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77615 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd raw_ostream::write_hex
Daniel Dunbar [Thu, 30 Jul 2009 18:21:23 +0000 (18:21 +0000)]
Add raw_ostream::write_hex

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77614 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove itohexstr, which only had one user.
Daniel Dunbar [Thu, 30 Jul 2009 18:18:54 +0000 (18:18 +0000)]
Remove itohexstr, which only had one user.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77613 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missing D* register clobbers for Thumb-2 call.
David Goodwin [Thu, 30 Jul 2009 18:01:09 +0000 (18:01 +0000)]
Add missing D* register clobbers for Thumb-2 call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77611 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTwines: Don't allow implicit conversion from integers, this is too tricky.
Daniel Dunbar [Thu, 30 Jul 2009 17:37:43 +0000 (17:37 +0000)]
Twines: Don't allow implicit conversion from integers, this is too tricky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77605 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agowalk DbgRegionStartInst and DbgRegionEndInst
Devang Patel [Thu, 30 Jul 2009 17:30:23 +0000 (17:30 +0000)]
walk DbgRegionStartInst and DbgRegionEndInst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77604 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix comment.
Devang Patel [Thu, 30 Jul 2009 17:25:33 +0000 (17:25 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77603 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMinor whitespace tidiness.
Dan Gohman [Thu, 30 Jul 2009 17:04:07 +0000 (17:04 +0000)]
Minor whitespace tidiness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77602 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRename GRAD to GR32_AD, to follow the naming convention of other
Dan Gohman [Thu, 30 Jul 2009 17:02:08 +0000 (17:02 +0000)]
Rename GRAD to GR32_AD, to follow the naming convention of other
classes. And define its SubRegClassList.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77601 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a random codegen deficiency.
Chris Lattner [Thu, 30 Jul 2009 16:08:58 +0000 (16:08 +0000)]
add a random codegen deficiency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77598 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix a unitialized pointer in NamedMDNode (and reenable unittest)
Benjamin Kramer [Thu, 30 Jul 2009 15:35:55 +0000 (15:35 +0000)]
fix a unitialized pointer in NamedMDNode (and reenable unittest)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77597 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAllow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than...
Sanjiv Gupta [Thu, 30 Jul 2009 09:12:56 +0000 (09:12 +0000)]
Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77586 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a note.
Evan Cheng [Thu, 30 Jul 2009 08:56:19 +0000 (08:56 +0000)]
Add a note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77584 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoI've changed the semantics of MERGE_VALUES a bit. It's now allowed to live until...
Evan Cheng [Thu, 30 Jul 2009 08:44:08 +0000 (08:44 +0000)]
I've changed the semantics of MERGE_VALUES a bit. It's now allowed to live until scheduling. It's deleted when the scheduler translate DAG nodes to machine instructions.

This is currently used by X86 to handle atomic_load_add when the output of the node is not used. I believe there is a better solution. But I find MERGE_VALUES useful for selecting multi-output node when the dead output can be selected as a IMPLICIT_DEF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77583 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOptimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and...
Evan Cheng [Thu, 30 Jul 2009 08:33:02 +0000 (08:33 +0000)]
Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch.

When the return value is not used (i.e. only care about the value in the memory), x86 does not have to use add to implement these. Instead, it can use add, sub, inc, dec instructions with the "lock" prefix.

This is currently implemented using a bit of instruction selection trick. The issue is the target independent pattern produces one output and a chain and we want to map it into one that just output a chain. The current trick is to select it into a merge_values with the first definition being an implicit_def. The proper solution is to add new ISD opcodes for the no-output variant. DAG combiner can then transform the node before it gets to target node selection.

Problem #2 is we are adding a whole bunch of x86 atomic instructions when in fact these instructions are identical to the non-lock versions. We need a way to add target specific information to target nodes and have this information carried over to machine instructions. Asm printer (or JIT) can use this information to add the "lock" prefix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77582 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSwitch obvious clients to Twine instead of utostr (when they were already using
Daniel Dunbar [Thu, 30 Jul 2009 04:20:37 +0000 (04:20 +0000)]
Switch obvious clients to Twine instead of utostr (when they were already using
a Twine, e.g., for names).
 - I am a little ambivalent about this; we don't want the string conversion of
   utostr, but using overload '+' mixed with string and integer arguments is
   sketchy. On the other hand, this particular usage is something of an idiom.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77579 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoKeep track of references to mem(cpy,move,set) and then print only one extern
Sanjiv Gupta [Thu, 30 Jul 2009 04:15:15 +0000 (04:15 +0000)]
Keep track of references to mem(cpy,move,set) and then print only one extern
declaration for them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77578 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTwine: Provide [u]int{32,64} conversions via implicit constructors instead of
Daniel Dunbar [Thu, 30 Jul 2009 03:47:15 +0000 (03:47 +0000)]
Twine: Provide [u]int{32,64} conversions via implicit constructors instead of
explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77576 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEqual SCEVs of a subscript give rise to dependence.
Andreas Bolka [Thu, 30 Jul 2009 02:26:01 +0000 (02:26 +0000)]
Equal SCEVs of a subscript give rise to dependence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77570 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDisable the NamedMDNodeTest, it is failing everywhere.
Daniel Dunbar [Thu, 30 Jul 2009 02:08:27 +0000 (02:08 +0000)]
Disable the NamedMDNodeTest, it is failing everywhere.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77569 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTypo
Nate Begeman [Thu, 30 Jul 2009 02:00:06 +0000 (02:00 +0000)]
Typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77568 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a new register class to describe operands that can't be SP,
Dan Gohman [Thu, 30 Jul 2009 01:56:29 +0000 (01:56 +0000)]
Add a new register class to describe operands that can't be SP,
due to x86 encoding restrictions. This is currently off by default
because it may cause code quality regressions. This is for PR4572.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77565 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMinor whitespace tidiness.
Dan Gohman [Thu, 30 Jul 2009 01:33:17 +0000 (01:33 +0000)]
Minor whitespace tidiness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77564 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCheck null NameMDNode elements.
Devang Patel [Thu, 30 Jul 2009 01:02:04 +0000 (01:02 +0000)]
Check null NameMDNode elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77559 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEliminate a bunch of redundant tables.
Dan Gohman [Thu, 30 Jul 2009 00:40:42 +0000 (00:40 +0000)]
Eliminate a bunch of redundant tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77558 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLower a 128-bit BUILD_VECTOR with 2 elements to a pair of INSERT_VECTOR_ELTs.
Bob Wilson [Thu, 30 Jul 2009 00:31:25 +0000 (00:31 +0000)]
Lower a 128-bit BUILD_VECTOR with 2 elements to a pair of INSERT_VECTOR_ELTs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77557 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse array_endof instead of doing it manually.
Dan Gohman [Thu, 30 Jul 2009 00:10:18 +0000 (00:10 +0000)]
Use array_endof instead of doing it manually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77553 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd NamedMDNode test.
Devang Patel [Thu, 30 Jul 2009 00:03:41 +0000 (00:03 +0000)]
Add NamedMDNode test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77550 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoprint single NamedMDNode.
Devang Patel [Thu, 30 Jul 2009 00:02:57 +0000 (00:02 +0000)]
print single NamedMDNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77549 91177308-0d34-0410-b5e6-96231b3b80d8