oota-llvm.git
14 years agoOpaque types didn't work if llvm_is_multithreaded().
Torok Edwin [Wed, 2 Sep 2009 12:23:05 +0000 (12:23 +0000)]
Opaque types didn't work if llvm_is_multithreaded().
AlwaysOpaqueTy is always NULL at this point, and it causes an assertion failure.
Fix it by using the just constructed tmp instead.

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

14 years agoset svn:ignore
Nuno Lopes [Wed, 2 Sep 2009 11:58:01 +0000 (11:58 +0000)]
set svn:ignore

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

14 years agoFix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in
Torok Edwin [Wed, 2 Sep 2009 11:13:56 +0000 (11:13 +0000)]
Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in
r80406, and readd a -print-dbginfo test.

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

14 years agoRetype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.
Sandeep Patel [Wed, 2 Sep 2009 08:44:58 +0000 (08:44 +0000)]
Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.

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

14 years agoFix month.
Chris Lattner [Wed, 2 Sep 2009 06:34:22 +0000 (06:34 +0000)]
Fix month.

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

14 years agofix PR4815: some cases where DeleteDeadInstruction can delete
Chris Lattner [Wed, 2 Sep 2009 06:31:02 +0000 (06:31 +0000)]
fix PR4815: some cases where DeleteDeadInstruction can delete
the instruction BBI points to.

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

14 years agoclean up this code a bit.
Chris Lattner [Wed, 2 Sep 2009 06:15:37 +0000 (06:15 +0000)]
clean up this code a bit.

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

14 years agoeliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861
Chris Lattner [Wed, 2 Sep 2009 06:11:42 +0000 (06:11 +0000)]
eliminate VISIBILITY_HIDDEN from Transforms/Scalar.  PR4861

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

14 years agorefactor select 'sched insertion' out to its own method.
Chris Lattner [Wed, 2 Sep 2009 05:57:00 +0000 (05:57 +0000)]
refactor select 'sched insertion' out to its own method.

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

14 years agoAdd support for modeling whether or not the processor has support for
Chris Lattner [Wed, 2 Sep 2009 05:53:04 +0000 (05:53 +0000)]
Add support for modeling whether or not the processor has support for
conditional moves as a subtarget feature.  This is the easy part of
PR4841.

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

14 years agofix PR4848 an infinite loop when indexing down through a recursive gep
Chris Lattner [Wed, 2 Sep 2009 05:35:45 +0000 (05:35 +0000)]
fix PR4848 an infinite loop when indexing down through a recursive gep
and we get the original pointer type.  This doesn't mean that we're
at the first pointer being indexed.  Correct the predicate.

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

14 years agofix PR4837, some bugs folding vector compares. These
Chris Lattner [Wed, 2 Sep 2009 05:12:37 +0000 (05:12 +0000)]
fix PR4837, some bugs folding vector compares.  These
return a vector of i1, not i1 itself.

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

14 years agorevert my patch, duncan points out what is wrong with my logic. Add
Chris Lattner [Wed, 2 Sep 2009 04:39:04 +0000 (04:39 +0000)]
revert my patch, duncan points out what is wrong with my logic.  Add
a comment so that I don't change this in the future :)

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

14 years agoone more try at making this simpler, hopefully it won't break everything :)
Chris Lattner [Wed, 2 Sep 2009 04:34:06 +0000 (04:34 +0000)]
one more try at making this simpler, hopefully it won't break everything :)

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

14 years agoComplicate Chris's simplification, avoiding complaints
Duncan Sands [Wed, 2 Sep 2009 03:48:41 +0000 (03:48 +0000)]
Complicate Chris's simplification, avoiding complaints
about singular iterators when building with expensive
checks turned on.

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

14 years agoDon't force the triple or data layout in this test. We just have to get them
Daniel Dunbar [Wed, 2 Sep 2009 02:43:11 +0000 (02:43 +0000)]
Don't force the triple or data layout in this test. We just have to get them
from the host and hope that works.

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

14 years agoAdd a comment.
Dan Gohman [Wed, 2 Sep 2009 01:14:16 +0000 (01:14 +0000)]
Add a comment.

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

14 years agoFixed the asmstrings for 8-bit, 16-bit, and 32-bit ADD %rAX, imm instructions.
Sean Callanan [Wed, 2 Sep 2009 00:55:49 +0000 (00:55 +0000)]
Fixed the asmstrings for 8-bit, 16-bit, and 32-bit ADD %rAX, imm instructions.
Added a 64-bit ADD %RAX, imm32 instruction.
Added all 4 forms for AND %rAX, imm and CMP %rAX, imm.

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

14 years agoFix PR4845: r77946 completely broke x86_64 Darwin (or any situation where the
Evan Cheng [Wed, 2 Sep 2009 00:19:03 +0000 (00:19 +0000)]
Fix PR4845: r77946 completely broke x86_64 Darwin (or any situation where the
desired triplet is a sub-target, e.g. thumbv7 vs. arm host). Reverting the
patch isn't quite right either since the previous behavior does not allow the
triplet to be overridden with -march.

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

14 years agoDisable uniqueness test for now.
Devang Patel [Wed, 2 Sep 2009 00:16:33 +0000 (00:16 +0000)]
Disable uniqueness test for now.

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

14 years agoFor now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on certain...
Devang Patel [Tue, 1 Sep 2009 23:56:42 +0000 (23:56 +0000)]
For now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on certain Mac OS X 10.5. I am working on a proper fix.

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

14 years agoAvoid calling removeVirtualRegisterKilled which iterates over the operands
Bob Wilson [Tue, 1 Sep 2009 23:18:46 +0000 (23:18 +0000)]
Avoid calling removeVirtualRegisterKilled which iterates over the operands
to find the kill, since we already have the operand.

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

14 years agoRefactor some code into separate functions. No functional changes.
Bob Wilson [Tue, 1 Sep 2009 22:51:08 +0000 (22:51 +0000)]
Refactor some code into separate functions.  No functional changes.

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

14 years agoMove use of LV inside condition that guards for null LV.
Bob Wilson [Tue, 1 Sep 2009 22:19:00 +0000 (22:19 +0000)]
Move use of LV inside condition that guards for null LV.

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

14 years agoFix build warning.
Daniel Dunbar [Tue, 1 Sep 2009 22:07:12 +0000 (22:07 +0000)]
Fix build warning.

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

14 years agoSimplify.
Daniel Dunbar [Tue, 1 Sep 2009 22:07:06 +0000 (22:07 +0000)]
Simplify.

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

14 years agoFix what I believe is a copy-n-pasto introduced in r78129.
Daniel Dunbar [Tue, 1 Sep 2009 22:07:00 +0000 (22:07 +0000)]
Fix what I believe is a copy-n-pasto introduced in r78129.
 - Bruno, please check!!

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

14 years agoX86/Encoding: Support ExternalSymbol operands in emitDisplacementField (for consistency).
Daniel Dunbar [Tue, 1 Sep 2009 22:06:53 +0000 (22:06 +0000)]
X86/Encoding: Support ExternalSymbol operands in emitDisplacementField (for consistency).

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

14 years agoRemove Offset from ExternalSybmol MachineOperands, this is unused (and at least partl...
Daniel Dunbar [Tue, 1 Sep 2009 22:06:46 +0000 (22:06 +0000)]
Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least).

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

14 years agodebug intrinsics do not go in the callgraph, this fixes a couple
Chris Lattner [Tue, 1 Sep 2009 21:37:50 +0000 (21:37 +0000)]
debug intrinsics do not go in the callgraph, this fixes a couple
clang regtest failures.

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

14 years agoFix a regression I introduced in r80708, found by llvm-test.
Chris Lattner [Tue, 1 Sep 2009 20:33:43 +0000 (20:33 +0000)]
Fix a regression I introduced in r80708, found by llvm-test.

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

14 years agoFix ELF Writter related memory leaks
Bruno Cardoso Lopes [Tue, 1 Sep 2009 19:25:52 +0000 (19:25 +0000)]
Fix ELF Writter related memory leaks

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

14 years agoOptimalEdgeProfiling: Reading in Profiles.
Andreas Neustifter [Tue, 1 Sep 2009 19:08:51 +0000 (19:08 +0000)]
OptimalEdgeProfiling: Reading in Profiles.
This enables LLVM to read the OptimalEdgeProfiles.

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

14 years agoAddedum to r80712, forgot to add files.
Andreas Neustifter [Tue, 1 Sep 2009 19:05:58 +0000 (19:05 +0000)]
Addedum to r80712, forgot to add files.

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

14 years agoOptimalEdgeProfiling: Creation of profiles.
Andreas Neustifter [Tue, 1 Sep 2009 19:03:44 +0000 (19:03 +0000)]
OptimalEdgeProfiling: Creation of profiles.
This adds the instrumentation and runtime part of OptimalEdgeProfiling.

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

14 years agoSmall fix in ProfileEstimator that eliminates duplicated code.
Andreas Neustifter [Tue, 1 Sep 2009 19:01:59 +0000 (19:01 +0000)]
Small fix in ProfileEstimator that eliminates duplicated code.

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

14 years agoreduce size of SmallString to something more reasonable
Jim Grosbach [Tue, 1 Sep 2009 18:55:08 +0000 (18:55 +0000)]
reduce size of SmallString to something more reasonable

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

14 years agoremove CallGraphNode::replaceCallSite, it is redundant with other APIs.
Chris Lattner [Tue, 1 Sep 2009 18:52:39 +0000 (18:52 +0000)]
remove CallGraphNode::replaceCallSite, it is redundant with other APIs.

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

14 years agoAdd support for generating code for vst{234}lane intrinsics.
Bob Wilson [Tue, 1 Sep 2009 18:51:56 +0000 (18:51 +0000)]
Add support for generating code for vst{234}lane intrinsics.

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

14 years agocleanup/simplify
Chris Lattner [Tue, 1 Sep 2009 18:50:55 +0000 (18:50 +0000)]
cleanup/simplify

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

14 years agoFix incorrect declarations of intrinsics in this test.
Bob Wilson [Tue, 1 Sep 2009 18:50:43 +0000 (18:50 +0000)]
Fix incorrect declarations of intrinsics in this test.

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

14 years agoUse raw_ostream instead of sstream
Jim Grosbach [Tue, 1 Sep 2009 18:49:12 +0000 (18:49 +0000)]
Use raw_ostream instead of sstream

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

14 years agoremove a bunch of explicit code previously needed to update the
Chris Lattner [Tue, 1 Sep 2009 18:44:06 +0000 (18:44 +0000)]
remove a bunch of explicit code previously needed to update the
callgraph.  This is now dead because RAUW does the job.

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

14 years agoAdd hidden flags to allow binary search of post-RA scheduling errors.
David Goodwin [Tue, 1 Sep 2009 18:34:03 +0000 (18:34 +0000)]
Add hidden flags to allow binary search of post-RA scheduling errors.

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

14 years agoRRX reads CPSR.
David Goodwin [Tue, 1 Sep 2009 18:32:09 +0000 (18:32 +0000)]
RRX reads CPSR.

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

14 years agodoxygenate RefreshCallGraph, add a new 'verification mode', and run it after
Chris Lattner [Tue, 1 Sep 2009 18:32:03 +0000 (18:32 +0000)]
doxygenate RefreshCallGraph, add a new 'verification mode', and run it after
CGSCC passes make change to ensure they are updating the callgraph correctly
(when assertions are enabled).

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

14 years agoFix a typo in a comment.
Dan Gohman [Tue, 1 Sep 2009 18:29:01 +0000 (18:29 +0000)]
Fix a typo in a comment.

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

14 years agoAdded TEST %rAX, $imm instructions to the Intel tables. These are required for the...
Sean Callanan [Tue, 1 Sep 2009 18:14:18 +0000 (18:14 +0000)]
Added TEST %rAX, $imm instructions to the Intel tables.  These are required for the X86 disassembler.

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

14 years agosimpler solution to iterator invalidation "problem" found
Chris Lattner [Tue, 1 Sep 2009 18:13:40 +0000 (18:13 +0000)]
simpler solution to iterator invalidation "problem" found
by expensive checking.

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

14 years agoenhance memcpy opt to turn memmoves into memcpy when the src/dest
Chris Lattner [Tue, 1 Sep 2009 17:56:32 +0000 (17:56 +0000)]
enhance memcpy opt to turn memmoves into memcpy when the src/dest
don't alias.  Remove an old and poorly reduced testcase that fails
with this transform for reasons unrelated to the original test.

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

14 years agoReapply 80278
Bruno Cardoso Lopes [Tue, 1 Sep 2009 17:27:58 +0000 (17:27 +0000)]
Reapply 80278

Add MO flags to simplify the printing of relocations.
Remove the support for printing large code model relocs (which
aren't supported anyway).

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

14 years agorevert inadvertant change from previous commit
Jim Grosbach [Tue, 1 Sep 2009 17:19:13 +0000 (17:19 +0000)]
revert inadvertant change from previous commit

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

14 years agorandom code cleanups, no functionality change.
Chris Lattner [Tue, 1 Sep 2009 17:09:55 +0000 (17:09 +0000)]
random code cleanups, no functionality change.

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

14 years agoUpdate CMake files.
Ted Kremenek [Tue, 1 Sep 2009 17:01:02 +0000 (17:01 +0000)]
Update CMake files.

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

14 years agoSimply LSDA lable emission to use a direct special-case output instead of
Jim Grosbach [Tue, 1 Sep 2009 16:43:35 +0000 (16:43 +0000)]
Simply LSDA lable emission to use a direct special-case output instead of
EmitLabel()

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

14 years agoDo not manipulate invalid iterators. This fixes the
Duncan Sands [Tue, 1 Sep 2009 15:13:02 +0000 (15:13 +0000)]
Do not manipulate invalid iterators.  This fixes the
llvm-gcc build when expensive checking is turned on.

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

14 years agoFurther refactoring of PIC16 Obj file code.
Sanjiv Gupta [Tue, 1 Sep 2009 10:47:31 +0000 (10:47 +0000)]
Further refactoring of PIC16 Obj file code.

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

14 years agoUpdate CMakeLists.
Benjamin Kramer [Tue, 1 Sep 2009 10:24:10 +0000 (10:24 +0000)]
Update CMakeLists.

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

14 years agoPreparation for Optimal Edge Profiling:
Andreas Neustifter [Tue, 1 Sep 2009 10:08:39 +0000 (10:08 +0000)]
Preparation for Optimal Edge Profiling:
Add statistics for regular edge profiling, this enables the comparation of the
number of edges inserted by regular and optimal edge profiling.

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

14 years agoPreparation for Optimal Edge Profiling:
Andreas Neustifter [Tue, 1 Sep 2009 10:06:05 +0000 (10:06 +0000)]
Preparation for Optimal Edge Profiling:
Optimal edge profiling is only possible when blocks with no predecessors get an
virtual edge (BB,0) that counts the execution frequencies of this
function-exiting blocks.
This patch makes the necessary changes before actually enabling optimal edge profiling.

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

14 years agoPreparation for Optimal Edge Profiling:
Andreas Neustifter [Tue, 1 Sep 2009 08:48:42 +0000 (08:48 +0000)]
Preparation for Optimal Edge Profiling:
This adds a pass to verify the current profile against the flow conditions.
This is very helpful when later on trying to perserve the profiling information
during all passes.

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

14 years agotestcase for PR3601
Chris Lattner [Tue, 1 Sep 2009 06:33:49 +0000 (06:33 +0000)]
testcase for PR3601

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

14 years agoChange CallGraphNode to maintain it's Function as an AssertingVH
Chris Lattner [Tue, 1 Sep 2009 06:31:31 +0000 (06:31 +0000)]
Change CallGraphNode to maintain it's Function as an AssertingVH
for sanity.  This didn't turn up any bugs.

Change CallGraphNode to maintain its "callsite" information in the
call edges list as a WeakVH instead of as an instruction*.  This fixes
a broad class of dangling pointer bugs, and makes CallGraph have a number
of useful invariants again.  This fixes the class of problem indicated
by PR4029 and PR3601.

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

14 years agoAdd virtual destructor.
Devang Patel [Tue, 1 Sep 2009 05:04:28 +0000 (05:04 +0000)]
Add virtual destructor.

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

14 years agoAdd test for vld{234}_lane instructions.
Bob Wilson [Tue, 1 Sep 2009 04:27:10 +0000 (04:27 +0000)]
Add test for vld{234}_lane instructions.

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

14 years agoGenerate code for vld{234}_lane intrinsics.
Bob Wilson [Tue, 1 Sep 2009 04:26:28 +0000 (04:26 +0000)]
Generate code for vld{234}_lane intrinsics.

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

14 years agoFix pr4843: When an instruction has multiple destination registers that are
Bob Wilson [Tue, 1 Sep 2009 04:18:40 +0000 (04:18 +0000)]
Fix pr4843: When an instruction has multiple destination registers that are
tied to different source registers, the TwoAddressInstructionPass needs to
be smarter.  Change it to check before replacing a source register whether
that source register is tied to a different destination register, and if so,
defer handling it until a subsequent iteration.

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

14 years agollvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).
Daniel Dunbar [Tue, 1 Sep 2009 04:09:03 +0000 (04:09 +0000)]
llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).

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

14 years agoSJLJ is arm/darwin only for now. force the triple for the test
Jim Grosbach [Tue, 1 Sep 2009 02:34:49 +0000 (02:34 +0000)]
SJLJ is arm/darwin only for now. force the triple for the test

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

14 years agoFix compiler warnings
Jim Grosbach [Tue, 1 Sep 2009 02:05:03 +0000 (02:05 +0000)]
Fix compiler warnings

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

14 years agoClean up LSDA name generation and use for SJLJ exception handling. This
Jim Grosbach [Tue, 1 Sep 2009 01:57:56 +0000 (01:57 +0000)]
Clean up LSDA name generation and use for SJLJ exception handling. This
makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.

Objective C++ code could generate function names that broke the previous
scheme. This fixes that.

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

14 years agoIntroduce DILocation.
Devang Patel [Tue, 1 Sep 2009 01:14:15 +0000 (01:14 +0000)]
Introduce DILocation.

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

14 years agoAdd getDirectory() and getFilename() interface to DIScope.
Devang Patel [Tue, 1 Sep 2009 00:53:21 +0000 (00:53 +0000)]
Add getDirectory() and getFilename() interface to DIScope.

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

14 years agoSubprogram is a scope. Derive DISubprogram from DIScope.
Devang Patel [Mon, 31 Aug 2009 22:47:13 +0000 (22:47 +0000)]
Subprogram is a scope. Derive DISubprogram from DIScope.

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

14 years agoRename DIBlock as DILexicalBlock.
Devang Patel [Mon, 31 Aug 2009 22:00:15 +0000 (22:00 +0000)]
Rename DIBlock as DILexicalBlock.

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

14 years agoDon't use an iterator which is potentially invalidated.
Dan Gohman [Mon, 31 Aug 2009 21:58:28 +0000 (21:58 +0000)]
Don't use an iterator which is potentially invalidated.

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

14 years agoUse early exit and reduce indentation.
Bob Wilson [Mon, 31 Aug 2009 21:54:55 +0000 (21:54 +0000)]
Use early exit and reduce indentation.

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

14 years agoIf the tied registers are already the same, there is no need to change
Bob Wilson [Mon, 31 Aug 2009 21:54:16 +0000 (21:54 +0000)]
If the tied registers are already the same, there is no need to change
them.  Move the code to make that change inside the conditional.

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

14 years agoAdd triple parsing support for XCore.
Richard Osborne [Mon, 31 Aug 2009 21:51:36 +0000 (21:51 +0000)]
Add triple parsing support for XCore.

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

14 years agoDerive DICompileUnit from DIScope.
Devang Patel [Mon, 31 Aug 2009 21:34:44 +0000 (21:34 +0000)]
Derive DICompileUnit from DIScope.

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

14 years agoAdd flag to mark structs for Apple Block "byref" variables; also add code to
Caroline Tice [Mon, 31 Aug 2009 21:19:37 +0000 (21:19 +0000)]
Add flag to mark structs for Apple Block "byref" variables; also add code to
modify the type and location debug information for these variables to match the
programmer's expectations.

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

14 years agoExtend the ValuesAtScope cache to cover all expressions, not just
Dan Gohman [Mon, 31 Aug 2009 21:15:23 +0000 (21:15 +0000)]
Extend the ValuesAtScope cache to cover all expressions, not just
SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code
can also end up repeatedly climing through the same expression trees,
which can be unusably slow when the trees are very tall.

Also, add a quick check for SCEV pointer equality to the main
SCEV comparison routine, as the full comparison code can be expensive
in the case of large expression trees.

These fix compile-time problems in some pathlogical cases.

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

14 years agorestore semantics of operator* (removing a FIXME I had to introduce in r80224)
Gabor Greif [Mon, 31 Aug 2009 20:54:23 +0000 (20:54 +0000)]
restore semantics of operator* (removing a FIXME I had to introduce in r80224)

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

14 years agoDon't mark a register live at an undef use.
David Goodwin [Mon, 31 Aug 2009 20:47:02 +0000 (20:47 +0000)]
Don't mark a register live at an undef use.

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

14 years agoIntroduce DIScope.
Devang Patel [Mon, 31 Aug 2009 20:44:45 +0000 (20:44 +0000)]
Introduce DIScope.

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

14 years agoOops. Fix inverted logic in assertion check.
Devang Patel [Mon, 31 Aug 2009 20:27:49 +0000 (20:27 +0000)]
Oops. Fix inverted logic in assertion check.

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

14 years agoRemove .n suffix for some 16-bit opcodes now that Darwin assembler is fixed.
Evan Cheng [Mon, 31 Aug 2009 20:14:07 +0000 (20:14 +0000)]
Remove .n suffix for some 16-bit opcodes now that Darwin assembler is fixed.

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

14 years agoX86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.
Daniel Dunbar [Mon, 31 Aug 2009 19:14:05 +0000 (19:14 +0000)]
X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.
 - Down to 7 failures on 403.gcc.

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

14 years agoStop printing old asm printing code inline with -experimental-asm-printer (this allow...
Daniel Dunbar [Mon, 31 Aug 2009 19:13:56 +0000 (19:13 +0000)]
Stop printing old asm printing code inline with -experimental-asm-printer (this allows diffing and assembling the .s)

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

14 years agoAvoid unnecessary +0 in experimental-asm-printer.
Daniel Dunbar [Mon, 31 Aug 2009 19:13:47 +0000 (19:13 +0000)]
Avoid unnecessary +0 in experimental-asm-printer.

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

14 years agoSimplify isDerivedType() and other predicate interface.
Devang Patel [Mon, 31 Aug 2009 18:49:10 +0000 (18:49 +0000)]
Simplify isDerivedType() and other predicate interface.

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

14 years agoOutput a hex value, because all of the others are hex.
Bill Wendling [Mon, 31 Aug 2009 18:26:48 +0000 (18:26 +0000)]
Output a hex value, because all of the others are hex.

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

14 years agoFix some misspellings of XTARGET.
Dale Johannesen [Mon, 31 Aug 2009 18:05:23 +0000 (18:05 +0000)]
Fix some misspellings of XTARGET.

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

14 years agoMark test as passing on all x86, which it should,
Dale Johannesen [Mon, 31 Aug 2009 17:49:20 +0000 (17:49 +0000)]
Mark test as passing on all x86, which it should,
although I don't think anyone cares about this
feature except Darwin.  PR 4825.

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

14 years agocleanups pointed out by duncan
Chris Lattner [Mon, 31 Aug 2009 17:08:30 +0000 (17:08 +0000)]
cleanups pointed out by duncan

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

14 years agoRevert commit 80428. It completely broke exception
Duncan Sands [Mon, 31 Aug 2009 16:45:16 +0000 (16:45 +0000)]
Revert commit 80428.  It completely broke exception
handling on x86-32 linux.

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

14 years agoFree the constants that have no uses in ~LLVMContext.
Torok Edwin [Mon, 31 Aug 2009 16:14:59 +0000 (16:14 +0000)]
Free the constants that have no uses in ~LLVMContext.
This fixes leaks from LLVMContext in multithreaded apps.
Since constants are only deleted if they have no uses, it is safe to not delete
a Module on shutdown, as many single-threaded tools do.
Multithreaded apps should however delete the Module before destroying the
Context to ensure that there are no leaks (assuming they use a different context
for each thread).

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

14 years agoFix ExplicitSymbols leak.
Torok Edwin [Mon, 31 Aug 2009 16:12:29 +0000 (16:12 +0000)]
Fix ExplicitSymbols leak.

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

14 years agoNormalize makefile comments and sort cmake file lists.
Benjamin Kramer [Mon, 31 Aug 2009 13:05:24 +0000 (13:05 +0000)]
Normalize makefile comments and sort cmake file lists.

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

14 years agollvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.
Daniel Dunbar [Mon, 31 Aug 2009 08:09:28 +0000 (08:09 +0000)]
llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.

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