oota-llvm.git
14 years agoMC-ize the stub printing in ARM.
Bill Wendling [Tue, 9 Mar 2010 00:40:17 +0000 (00:40 +0000)]
MC-ize the stub printing in ARM.

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

14 years agoadd a EmitSymbolValue convenience method to MCStreamer.
Chris Lattner [Tue, 9 Mar 2010 00:39:24 +0000 (00:39 +0000)]
add a EmitSymbolValue convenience method to MCStreamer.

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

14 years agomake InlineInfoLabels hold MCSymbol*'s, avoiding
Chris Lattner [Tue, 9 Mar 2010 00:31:02 +0000 (00:31 +0000)]
make InlineInfoLabels hold MCSymbol*'s, avoiding
recomputation of the labels.

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

14 years agomc'ize the last use of PrintLabelName and eliminate PrintLabelName.
Chris Lattner [Tue, 9 Mar 2010 00:26:09 +0000 (00:26 +0000)]
mc'ize the last use of PrintLabelName and eliminate PrintLabelName.

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

14 years agoeliminate an argument from PrintRelDirective, sinking
Chris Lattner [Tue, 9 Mar 2010 00:17:58 +0000 (00:17 +0000)]
eliminate an argument from PrintRelDirective, sinking
the one special case into EmitSectionOffset.  MCize
the non-special case in EmitSectionOffset.

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

14 years agoPrint the correct index in the "match failed at index" message.
Dan Gohman [Tue, 9 Mar 2010 00:07:36 +0000 (00:07 +0000)]
Print the correct index in the "match failed at index" message.

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

14 years agoremove the suffix form of PrintLabelName, which was only
Chris Lattner [Tue, 9 Mar 2010 00:00:57 +0000 (00:00 +0000)]
remove the suffix form of PrintLabelName, which was only
used for 'flavor'.

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

14 years agonow that the debug and eh emitters use a common .set counter,
Chris Lattner [Tue, 9 Mar 2010 00:00:15 +0000 (00:00 +0000)]
now that the debug and eh emitters use a common .set counter,
we can eliminate "flavor".

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

14 years agomove .set generation out of DwarfPrinter into AsmPrinter and
Chris Lattner [Mon, 8 Mar 2010 23:58:37 +0000 (23:58 +0000)]
move .set generation out of DwarfPrinter into AsmPrinter and
MCize it.

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

14 years agoDon't waste time trying to CSE labels, phis, inline asm. Definitely avoid cse implici...
Evan Cheng [Mon, 8 Mar 2010 23:49:12 +0000 (23:49 +0000)]
Don't waste time trying to CSE labels, phis, inline asm. Definitely avoid cse implicit-def for obvious performance reason.

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

14 years agoRestrict machine cse to really trivial coalescing. Leave the heavy lifting to a real...
Evan Cheng [Mon, 8 Mar 2010 23:28:08 +0000 (23:28 +0000)]
Restrict machine cse to really trivial coalescing. Leave the heavy lifting to a real coalescer.

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

14 years agosimplify EmitSectionOffset to always use .set if it is
Chris Lattner [Mon, 8 Mar 2010 23:23:25 +0000 (23:23 +0000)]
simplify EmitSectionOffset to always use .set if it is
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything.  Make EmitSectionOffset call EmitDifference
instead of duplicating it.

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

14 years agodon't reset defaults.
Chris Lattner [Mon, 8 Mar 2010 23:18:21 +0000 (23:18 +0000)]
don't reset defaults.

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

14 years agoRemove a version of EmitDifference.
Chris Lattner [Mon, 8 Mar 2010 23:02:59 +0000 (23:02 +0000)]
Remove a version of EmitDifference.

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

14 years agoFix a crash compiling 254.gap for Thumb2. The Thumb2 add/sub with 12-bit
Bob Wilson [Mon, 8 Mar 2010 22:56:15 +0000 (22:56 +0000)]
Fix a crash compiling 254.gap for Thumb2.  The Thumb2 add/sub with 12-bit
immediate instructions cannot set the condition codes, so they do not have
the extra cc_out operand.  We hit an assertion during tail duplication
because the instruction being duplicated had more operands that expected.

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

14 years agoRe-commit 97860 with fix. getMallocAllocatedType may return null.
Evan Cheng [Mon, 8 Mar 2010 22:54:36 +0000 (22:54 +0000)]
Re-commit 97860 with fix. getMallocAllocatedType may return null.

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

14 years agoeliminate a form of PrintLabelName.
Chris Lattner [Mon, 8 Mar 2010 22:52:49 +0000 (22:52 +0000)]
eliminate a form of PrintLabelName.

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

14 years agoremove another form of EmitReference.
Chris Lattner [Mon, 8 Mar 2010 22:50:36 +0000 (22:50 +0000)]
remove another form of EmitReference.

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

14 years agoeliminate the non-MCSymbol versions of EmitReference.
Chris Lattner [Mon, 8 Mar 2010 22:47:57 +0000 (22:47 +0000)]
eliminate the non-MCSymbol versions of EmitReference.

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

14 years agomc'ize EmitLabel.
Chris Lattner [Mon, 8 Mar 2010 22:44:40 +0000 (22:44 +0000)]
mc'ize EmitLabel.

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

14 years agomerge DIEObjectLabel and DIEDwarfLabel into DIELabel.
Chris Lattner [Mon, 8 Mar 2010 22:31:46 +0000 (22:31 +0000)]
merge DIEObjectLabel and DIEDwarfLabel into DIELabel.

Yes, DIE you fiendish labels, die all of you.

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

14 years agoIntroduce DIFile. This will be used to represent header files and source file(s)...
Devang Patel [Mon, 8 Mar 2010 22:27:22 +0000 (22:27 +0000)]
Introduce DIFile. This will be used to represent header files and source file(s) in debug info.

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

14 years agoelimiante the DWLabel class, using MCSymbol instead. Start
Chris Lattner [Mon, 8 Mar 2010 22:23:36 +0000 (22:23 +0000)]
elimiante the DWLabel class, using MCSymbol instead.  Start
switching some stuff over to passing around MCSymbol* instead
of stem+ID.

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

14 years agoFix the vmxon entry in the X86InstrInfo.td so it has the correct prefix bytes
Kevin Enderby [Mon, 8 Mar 2010 22:17:26 +0000 (22:17 +0000)]
Fix the vmxon entry in the X86InstrInfo.td so it has the correct prefix bytes
for the encoding and is not the same as vmptrld.

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

14 years agoMC/Macho-O: Align the zerofill section itself to the maximum alignment.
Daniel Dunbar [Mon, 8 Mar 2010 22:03:42 +0000 (22:03 +0000)]
MC/Macho-O: Align the zerofill section itself to the maximum alignment.

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

14 years agoDerive DIType from DIScope. This simplifies getContext() where for members the contex...
Devang Patel [Mon, 8 Mar 2010 22:02:50 +0000 (22:02 +0000)]
Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.

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

14 years agoRemove DbgNode checks in constructor. Debug descriptors are intended to be light...
Devang Patel [Mon, 8 Mar 2010 21:32:10 +0000 (21:32 +0000)]
Remove DbgNode checks in constructor. Debug descriptors are intended to be light weight wrappers.

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

14 years agoMC/Mach-O: Fix address compution for zero fill sections.
Daniel Dunbar [Mon, 8 Mar 2010 21:10:42 +0000 (21:10 +0000)]
MC/Mach-O: Fix address compution for zero fill sections.

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

14 years agoMC/Mach-O: Error out instead of crashing on invalid scattered relocation expressions.
Daniel Dunbar [Mon, 8 Mar 2010 21:10:39 +0000 (21:10 +0000)]
MC/Mach-O: Error out instead of crashing on invalid scattered relocation expressions.

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

14 years agoX86: Fix encoding for TEST{8,16,32}rr.
Daniel Dunbar [Mon, 8 Mar 2010 21:10:36 +0000 (21:10 +0000)]
X86: Fix encoding for TEST{8,16,32}rr.

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

14 years agoAdd documentation on sibling call optimization. Rename tailcall2.ll test to sibcall.ll.
Evan Cheng [Mon, 8 Mar 2010 21:05:02 +0000 (21:05 +0000)]
Add documentation on sibling call optimization. Rename tailcall2.ll test to sibcall.ll.

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

14 years agoisNull() is not used any more.
Devang Patel [Mon, 8 Mar 2010 21:00:27 +0000 (21:00 +0000)]
isNull() is not used any more.

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

14 years agoAvoid using DIDescriptor.isNull().
Devang Patel [Mon, 8 Mar 2010 20:52:55 +0000 (20:52 +0000)]
Avoid using DIDescriptor.isNull().
This is a first step towards eliminating checks in Descriptor constructors.

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

14 years agoIterator traits and swap. closes PR6548 and PR6549
Andrew Lenharth [Mon, 8 Mar 2010 20:45:52 +0000 (20:45 +0000)]
Iterator traits and swap.  closes PR6548 and PR6549

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

14 years agoDon't always run the ocaml kaleidoscope tutorials.
Erick Tryzelaar [Mon, 8 Mar 2010 20:07:32 +0000 (20:07 +0000)]
Don't always run the ocaml kaleidoscope tutorials.

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

14 years agoRevert r97726 and r97728 at ddunbar's request; we want to solve this
John McCall [Mon, 8 Mar 2010 20:02:05 +0000 (20:02 +0000)]
Revert r97726 and r97728 at ddunbar's request; we want to solve this
some other way when it comes to be necessary.

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

14 years agoAdd OCaml tutorial to the examples.
Erick Tryzelaar [Mon, 8 Mar 2010 19:32:27 +0000 (19:32 +0000)]
Add OCaml tutorial to the examples.

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

14 years agoUpdate the OCaml Kaleidoscope tutorial.
Erick Tryzelaar [Mon, 8 Mar 2010 19:32:18 +0000 (19:32 +0000)]
Update the OCaml Kaleidoscope tutorial.

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

14 years agoRevert r97947.
Devang Patel [Mon, 8 Mar 2010 19:20:38 +0000 (19:20 +0000)]
Revert r97947.

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

14 years agodisambiguate some types, add a fixme about some
Chris Lattner [Mon, 8 Mar 2010 18:59:49 +0000 (18:59 +0000)]
disambiguate some types, add a fixme about some
inconsistent intrinsics.

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

14 years agofix some more ambiguous patterns, remove another nontemporalstore
Chris Lattner [Mon, 8 Mar 2010 18:57:56 +0000 (18:57 +0000)]
fix some more ambiguous patterns, remove another nontemporalstore
pattern which is broken (source and address swapped).

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

14 years agoCorrect immediate sizes.
Chris Lattner [Mon, 8 Mar 2010 18:55:15 +0000 (18:55 +0000)]
Correct immediate sizes.

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

14 years agofix a type compatibility bug. imm is i32 in the input
Chris Lattner [Mon, 8 Mar 2010 18:52:55 +0000 (18:52 +0000)]
fix a type compatibility bug.  imm is i32 in the input
pattern, not i64.

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

14 years agofix a bunch of partially ambiguous patterns on ARM. As an
Chris Lattner [Mon, 8 Mar 2010 18:51:21 +0000 (18:51 +0000)]
fix a bunch of partially ambiguous patterns on ARM.  As an
example, this:

(set DPR:$dst, (fsub (fneg (fmul DPR:$a, DPR:$b)), DPR:$dstin))

is ambiguous because DPR contains both f64 and v2f32.  tblgen
currently accidentally picks f64 because it's first in the
regclass.

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

14 years agoFix a bunch of ambiguous patterns which tblgen happens to infer types
Chris Lattner [Mon, 8 Mar 2010 18:44:04 +0000 (18:44 +0000)]
Fix a bunch of ambiguous patterns which tblgen happens to infer types
for, due to a bug.

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

14 years agoNode arguments to type casts can have names too. This code
Chris Lattner [Mon, 8 Mar 2010 18:36:19 +0000 (18:36 +0000)]
Node arguments to type casts can have names too.  This code
needs to be majorly refactored, but this spot bugfix allows
things like:

 def vmrghw_shuffle : PatFrag<(ops node:$lhs, node:$rhs),
                             (vector_shuffle (v4i32 node:$lhs), node:$rhs), [{
...

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

14 years agotidy up
Chris Lattner [Mon, 8 Mar 2010 18:29:38 +0000 (18:29 +0000)]
tidy up

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

14 years agoAvoid using DIDescriptor.isNull().
Devang Patel [Mon, 8 Mar 2010 18:25:48 +0000 (18:25 +0000)]
Avoid using DIDescriptor.isNull().
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.

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

14 years agoAdd Order to SDDbgValue
Dale Johannesen [Mon, 8 Mar 2010 05:39:50 +0000 (05:39 +0000)]
Add Order to SDDbgValue

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

14 years agoFix dbg value handling in tail merging.
Dale Johannesen [Mon, 8 Mar 2010 05:38:13 +0000 (05:38 +0000)]
Fix dbg value handling in tail merging.

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

14 years agoremove a non-temporal store pattern which is not tested and
Chris Lattner [Mon, 8 Mar 2010 03:18:28 +0000 (03:18 +0000)]
remove a non-temporal store pattern which is not tested and
could never have matched because the operand list was backwards.

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

14 years agoRevert r97917, which was causing Clang Debug self-host failures.
Douglas Gregor [Mon, 8 Mar 2010 02:58:37 +0000 (02:58 +0000)]
Revert r97917, which was causing Clang Debug self-host failures.

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

14 years agoRoll back r97918 again. Just configuring against llvm-gcc wasn't enough to run
Jeffrey Yasskin [Sun, 7 Mar 2010 19:26:40 +0000 (19:26 +0000)]
Roll back r97918 again.  Just configuring against llvm-gcc wasn't enough to run
the FrontendC* tests. :(

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

14 years agoReapply r97788 to free MDNodes when the LLVMContext is destroyed. It
Jeffrey Yasskin [Sun, 7 Mar 2010 18:46:57 +0000 (18:46 +0000)]
Reapply r97788 to free MDNodes when the LLVMContext is destroyed.  It
bootstraps llvm-gcc this time.

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

14 years agoRoll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.
Jeffrey Yasskin [Sun, 7 Mar 2010 17:10:13 +0000 (17:10 +0000)]
Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.

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

14 years agoAdd findNearestCommonDominator() for PostDominators.
Tobias Grosser [Sun, 7 Mar 2010 11:15:04 +0000 (11:15 +0000)]
Add findNearestCommonDominator() for PostDominators.

Add a missing interface to be able to call findNearestCommonDominator
for a PostDominanceTree. The function itself is already implemented in
DominatorTreeBase. The interface however was only added to the
DominatorTree class, but not the PostDominatorClass.

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

14 years agoUse Other as a sentinel instead of iAny.
Chris Lattner [Sun, 7 Mar 2010 07:45:08 +0000 (07:45 +0000)]
Use Other as a sentinel instead of iAny.

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

14 years agoturn off debug spew
Chris Lattner [Sun, 7 Mar 2010 07:21:24 +0000 (07:21 +0000)]
turn off debug spew

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

14 years agomore factoring.
Chris Lattner [Sun, 7 Mar 2010 07:20:49 +0000 (07:20 +0000)]
more factoring.

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

14 years ago_2_ gcc crashes, ah, ah, ah...
Jeffrey Yasskin [Sun, 7 Mar 2010 07:16:49 +0000 (07:16 +0000)]
_2_ gcc crashes, ah, ah, ah...

(Rolling back r97906.)

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

14 years agoteach tblgen to be more aggressive when factoring CheckType nodes.
Chris Lattner [Sun, 7 Mar 2010 07:01:28 +0000 (07:01 +0000)]
teach tblgen to be more aggressive when factoring CheckType nodes.
Now it will factor things like this:

CheckType i32
  ...
CheckOpcode ISD::AND
  CheckType i64
  ...

into:

SwitchType:
  i32: ...
  i64:
    CheckOpcode ISD::AND
    ...

This shrinks hte table by a few bytes, nothing spectacular.

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

14 years agoAvoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!
Jeffrey Yasskin [Sun, 7 Mar 2010 06:55:35 +0000 (06:55 +0000)]
Avoid leaking CompileUnits and DbgScopes from DwarfDebug.  Leaks found by Valgrind!

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

14 years agoadd some helper functions and implement isContradictory
Chris Lattner [Sun, 7 Mar 2010 06:29:26 +0000 (06:29 +0000)]
add some helper functions and implement isContradictory
for CheckValueTypeMatcher.  The isContradictory implementation
helps us factor better, shrinking x86 table from 79144 -> 78896
bytes.

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

14 years agotidy up
Chris Lattner [Sun, 7 Mar 2010 04:28:09 +0000 (04:28 +0000)]
tidy up

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

14 years agoRe-committing the failed r97807 commit with changes to eliminate warnings.
Wesley Peck [Sat, 6 Mar 2010 23:23:12 +0000 (23:23 +0000)]
Re-committing the failed r97807 commit with changes to eliminate warnings.

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

14 years agoAdd verification of union types.
Nick Lewycky [Sat, 6 Mar 2010 20:26:48 +0000 (20:26 +0000)]
Add verification of union types.

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

14 years agoDescribe what's going on with mingw alloca and why do we need separate instruction.
Anton Korobeynikov [Sat, 6 Mar 2010 20:07:32 +0000 (20:07 +0000)]
Describe what's going on with mingw alloca and why do we need separate instruction.

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

14 years agoInitial bits of ARMv4-only support.
Anton Korobeynikov [Sat, 6 Mar 2010 19:39:36 +0000 (19:39 +0000)]
Initial bits of ARMv4-only support.
Patch by John Tytgat!

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

14 years agoLower dynamic stack allocation on mingw32 to separate instruction.
Anton Korobeynikov [Sat, 6 Mar 2010 19:32:29 +0000 (19:32 +0000)]
Lower dynamic stack allocation on mingw32 to separate instruction.
We cannot use a normal call here since it has extra unmodelled side
effects (it changes stack pointer). This should fix PR5292.

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

14 years agomake APFloat::toString be const.
Chris Lattner [Sat, 6 Mar 2010 19:20:13 +0000 (19:20 +0000)]
make APFloat::toString be const.

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

14 years agodisable this for mingw as well, we really need a 'has no dynamic linking' predicate.
Chris Lattner [Sat, 6 Mar 2010 18:54:37 +0000 (18:54 +0000)]
disable this for mingw as well, we really need a 'has no dynamic linking' predicate.

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

14 years agoDo not use '&' prefix for globals when register base field is non-zero, otherwise...
Anton Korobeynikov [Sat, 6 Mar 2010 11:41:12 +0000 (11:41 +0000)]
Do not use '&' prefix for globals when register base field is non-zero, otherwise msp430-as will silently miscompile the code (TI's assembler report an error though).

This fixes PR6349

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

14 years agoLet the fallthrough handle whether or not we've changed anything
Eric Christopher [Sat, 6 Mar 2010 10:59:25 +0000 (10:59 +0000)]
Let the fallthrough handle whether or not we've changed anything
before we try to optimize.

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

14 years agoMigrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub
Eric Christopher [Sat, 6 Mar 2010 10:50:38 +0000 (10:50 +0000)]
Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub
out the remainder of the calls that we should lower in some way and
move the tests to the new correct directory. Fix up tests that are now
optimized more than they were before by -instcombine.

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

14 years agoAdd static methods to handle Linkage Types.
Rafael Espindola [Sat, 6 Mar 2010 07:22:39 +0000 (07:22 +0000)]
Add static methods to handle Linkage Types.

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

14 years agoclean this up.
Chris Lattner [Sat, 6 Mar 2010 07:02:28 +0000 (07:02 +0000)]
clean this up.

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

14 years agorevert r97807, it introduced build warnings.
Chris Lattner [Sat, 6 Mar 2010 04:32:46 +0000 (04:32 +0000)]
revert r97807, it introduced build warnings.

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

14 years agoThumb1 epilogue code generation needs to take into account that callee-saved
Jim Grosbach [Sat, 6 Mar 2010 03:28:39 +0000 (03:28 +0000)]
Thumb1 epilogue code generation needs to take into account that callee-saved
registers may be restored via a pop instruction, not just a tRestore.
This fixes nightly test 471.omnetep for Thumb1.

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

14 years agoTemporarily revert:
Eric Christopher [Sat, 6 Mar 2010 03:11:35 +0000 (03:11 +0000)]
Temporarily revert:

Log:
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.

Modified:
   llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
   llvm/trunk/test/Transforms/InstCombine/objsize.ll

It appears to be causing swb and nightly test failures.

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

14 years agoFix another case where LSR was affected by debug info.
Dale Johannesen [Sat, 6 Mar 2010 02:45:26 +0000 (02:45 +0000)]
Fix another case where LSR was affected by debug info.

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

14 years agoDon't update physical register def.
Evan Cheng [Sat, 6 Mar 2010 01:14:19 +0000 (01:14 +0000)]
Don't update physical register def.

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

14 years agoTransform @llvm.objectsize to integer if the argument is a result of malloc of known...
Evan Cheng [Sat, 6 Mar 2010 01:01:42 +0000 (01:01 +0000)]
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.

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

14 years agoAdd a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.
Erick Tryzelaar [Sat, 6 Mar 2010 00:30:06 +0000 (00:30 +0000)]
Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.

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

14 years agoWhoops, the old LLVMWriteBitcodeToFileHandle closed the stream.
Erick Tryzelaar [Sat, 6 Mar 2010 00:30:01 +0000 (00:30 +0000)]
Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.

Luckily this never was released.

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

14 years agoLLVMWriteBitcodeToFileHandle should work on all architectures now.
Erick Tryzelaar [Sat, 6 Mar 2010 00:29:58 +0000 (00:29 +0000)]
LLVMWriteBitcodeToFileHandle should work on all architectures now.

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

14 years agoAdd some new bits of debug info handling. No
Dale Johannesen [Sat, 6 Mar 2010 00:03:23 +0000 (00:03 +0000)]
Add some new bits of debug info handling.  No
functional change yet.

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

14 years agoReapply r97778 and r97779, enabled only for unsigned i64 to f64
Dan Gohman [Sat, 6 Mar 2010 00:00:55 +0000 (00:00 +0000)]
Reapply r97778 and r97779, enabled only for unsigned i64 to f64
conversions.

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

14 years agoTest case for r97851.
Devang Patel [Fri, 5 Mar 2010 23:35:04 +0000 (23:35 +0000)]
Test case for r97851.

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

14 years agoUpdate CMake build.
Ted Kremenek [Fri, 5 Mar 2010 22:34:16 +0000 (22:34 +0000)]
Update CMake build.

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

14 years agoDon't emit global symbols into the (__TEXT,__ustring) section on Darwin. This
Charles Davis [Fri, 5 Mar 2010 22:28:45 +0000 (22:28 +0000)]
Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. This
is a workaround for <rdar://problem/7672401/> (which I filed).

This let's us build Wine on Darwin, and it gets the Qt build there a little bit
further (so Doug says).

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

14 years agoMove SimplifyLibCalls's LibCall builders to a separate file so they
Eric Christopher [Fri, 5 Mar 2010 22:25:30 +0000 (22:25 +0000)]
Move SimplifyLibCalls's LibCall builders to a separate file so they
can be used in more places.  Add an argument for the TargetData that
most of them need. Update for the getInt8PtrTy() change.  Should be
no functionality change.

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

14 years agoAdd support for an i8* type accessor.
Eric Christopher [Fri, 5 Mar 2010 22:21:58 +0000 (22:21 +0000)]
Add support for an i8* type accessor.

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

14 years agoBetter handling of dead super registers in LiveVariables. We used to do this:
Jakob Stoklund Olesen [Fri, 5 Mar 2010 21:49:17 +0000 (21:49 +0000)]
Better handling of dead super registers in LiveVariables. We used to do this:

   CALL ... %RAX<imp-def>
   ... [not using %RAX]
   %EAX = ..., %RAX<imp-use, kill>
   RET %EAX<imp-use,kill>

Now we do this:

   CALL ... %RAX<imp-def, dead>
   ... [not using %RAX]
   %EAX = ...
   RET %EAX<imp-use,kill>

By not artificially keeping %RAX alive, we lower register pressure a bit.

The correct number of instructions for 2008-08-05-SpillerBug.ll is obviously
55, anybody can see that. Sheesh.

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

14 years agoWe don't really care about correct register liveness information after the
Jakob Stoklund Olesen [Fri, 5 Mar 2010 21:49:13 +0000 (21:49 +0000)]
We don't really care about correct register liveness information after the
post-ra scheduler has run. Disable the verifier checks that late in the game.

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

14 years agoAvoid creating bad PHI instructions when BR is being const-folded.
Jakob Stoklund Olesen [Fri, 5 Mar 2010 21:49:10 +0000 (21:49 +0000)]
Avoid creating bad PHI instructions when BR is being const-folded.

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

14 years agoFix a case where LSR is sensitive to debug info.
Dale Johannesen [Fri, 5 Mar 2010 21:12:40 +0000 (21:12 +0000)]
Fix a case where LSR is sensitive to debug info.

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

14 years agoSafely turn memset_chk etc. to non-chk variant if the known object size is >= memset...
Evan Cheng [Fri, 5 Mar 2010 20:59:47 +0000 (20:59 +0000)]
Safely turn memset_chk etc. to non-chk variant if the known object size is >= memset / memcpy / memmove size.

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

14 years agoInstcombine should turn llvm.objectsize of a alloca with static size to an integer.
Evan Cheng [Fri, 5 Mar 2010 20:47:23 +0000 (20:47 +0000)]
Instcombine should turn llvm.objectsize of a alloca with static size to an integer.

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

14 years agoFix typo.
Evan Cheng [Fri, 5 Mar 2010 19:55:55 +0000 (19:55 +0000)]
Fix typo.

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

14 years agofix bss section printing for cell, patch by Kalle Raiskila!
Chris Lattner [Fri, 5 Mar 2010 18:55:36 +0000 (18:55 +0000)]
fix bss section printing for cell, patch by Kalle Raiskila!

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