oota-llvm.git
15 years agominor tweaks
Gabor Greif [Thu, 12 Mar 2009 09:47:03 +0000 (09:47 +0000)]
minor tweaks

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

15 years agoReorganize some #include's.
Owen Anderson [Thu, 12 Mar 2009 06:58:19 +0000 (06:58 +0000)]
Reorganize some #include's.

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

15 years agoMove 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))"
Chris Lattner [Thu, 12 Mar 2009 06:52:53 +0000 (06:52 +0000)]
Move 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))"
related transformations out of target-specific dag combine into the
ARM backend.  These were added by Evan in r37685 with no testcases
and only seems to help ARM (e.g. test/CodeGen/ARM/select_xform.ll).

Add some simple X86-specific (for now) DAG combines that turn things
like cond ? 8 : 0  -> (zext(cond) << 3).  This happens frequently
with the recently added cp constant select optimization, but is a
very general xform.  For example, we now compile the second example
in const-select.ll to:

_test:
        movsd   LCPI2_0, %xmm0
        ucomisd 8(%esp), %xmm0
        seta    %al
        movzbl  %al, %eax
        movl    4(%esp), %ecx
        movsbl  (%ecx,%eax,4), %eax
        ret

instead of:

_test:
        movl    4(%esp), %eax
        leal    4(%eax), %ecx
        movsd   LCPI2_0, %xmm0
        ucomisd 8(%esp), %xmm0
        cmovbe  %eax, %ecx
        movsbl  (%ecx), %eax
        ret

This passes multisource and dejagnu.

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

15 years agoimprove comment.
Chris Lattner [Thu, 12 Mar 2009 06:46:02 +0000 (06:46 +0000)]
improve comment.

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

15 years agoEnable Chris' value propagation change. It make available known sign, zero, one bits...
Evan Cheng [Thu, 12 Mar 2009 06:29:49 +0000 (06:29 +0000)]
Enable Chris' value propagation change. It make available known sign, zero, one bits information for values that are live out of basic blocks. The goal is to eliminate unnecessary sext, zext, truncate of values that are live-in to blocks. This does not handle PHI nodes yet.

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

15 years agoOn x86, if the only use of a i64 load is a i64 store, generate a pair of double load...
Evan Cheng [Thu, 12 Mar 2009 05:59:15 +0000 (05:59 +0000)]
On x86, if the only use of a i64 load is a i64 store, generate a pair of double load and store instead.

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

15 years agoadd no-unwind, remove duplicate run line.
Chris Lattner [Thu, 12 Mar 2009 05:56:37 +0000 (05:56 +0000)]
add no-unwind, remove duplicate run line.

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

15 years agoadd nounwinds
Chris Lattner [Thu, 12 Mar 2009 05:35:33 +0000 (05:35 +0000)]
add nounwinds

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

15 years agoRevert r66765 and r66766. These were causing build failures on Darwin.
Bill Wendling [Thu, 12 Mar 2009 04:10:09 +0000 (04:10 +0000)]
Revert r66765 and r66766. These were causing build failures on Darwin.

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

15 years agoRegenerate.
Nick Lewycky [Thu, 12 Mar 2009 03:34:33 +0000 (03:34 +0000)]
Regenerate.

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

15 years agoSet ARCH to x86 on mixed 32/64-bit Linux systems.
Nick Lewycky [Thu, 12 Mar 2009 03:34:19 +0000 (03:34 +0000)]
Set ARCH to x86 on mixed 32/64-bit Linux systems.

Remove the explicit if OS = Darwin test around the setting of -m32/-m64.

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

15 years agoForgot to check-in this as part of 7761.
Sanjiv Gupta [Thu, 12 Mar 2009 03:20:07 +0000 (03:20 +0000)]
Forgot to check-in this as part of 7761.

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

15 years agoBanksel optimization is now based on the section names of symbols, since the symbols...
Sanjiv Gupta [Thu, 12 Mar 2009 02:10:45 +0000 (02:10 +0000)]
Banksel optimization is now based on the section names of symbols, since the symbols in one section will always be put into one bank.

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

15 years agoAllow for switch values bigger than 64 bits.
Dale Johannesen [Thu, 12 Mar 2009 01:20:06 +0000 (01:20 +0000)]
Allow for switch values bigger than 64 bits.

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

15 years agoAdd StringMap::lookup.
Daniel Dunbar [Thu, 12 Mar 2009 01:16:06 +0000 (01:16 +0000)]
Add StringMap::lookup.

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

15 years agoFix some nondeterministic behavior when forwarding
Dale Johannesen [Thu, 12 Mar 2009 01:00:26 +0000 (01:00 +0000)]
Fix some nondeterministic behavior when forwarding
from a switch table.  Multiple table entries that
branch to the same place were being sorted by the
pointer value of the ConstantInt*; changed to sort
by the actual value of the ConstantInt.

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

15 years agoAlso pass -gcc-tool-args when building a shared object.
Evan Cheng [Thu, 12 Mar 2009 00:53:34 +0000 (00:53 +0000)]
Also pass -gcc-tool-args when building a shared object.

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

15 years agoRevert r66024. The JIT encoding for CALLpcrel32 is wrong -- see PR3773, and the
Dan Gohman [Wed, 11 Mar 2009 23:01:47 +0000 (23:01 +0000)]
Revert r66024. The JIT encoding for CALLpcrel32 is wrong -- see PR3773, and the
assembly text output uses an indirect call ("call *") instead of a direct call.

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

15 years agoupdate
Gabor Greif [Wed, 11 Mar 2009 22:52:25 +0000 (22:52 +0000)]
update

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

15 years agooptimize i8 and i16 tls values.
Rafael Espindola [Wed, 11 Mar 2009 22:40:04 +0000 (22:40 +0000)]
optimize i8 and i16 tls values.

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

15 years agoReorganization: Move the Spiller out of VirtRegMap.cpp into its own files. No (inten...
Owen Anderson [Wed, 11 Mar 2009 22:31:21 +0000 (22:31 +0000)]
Reorganization: Move the Spiller out of VirtRegMap.cpp into its own files.  No (intended) functionality change.

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

15 years agoAdd a -no-implicit-float flag. This acts like -soft-float, but may generate
Bill Wendling [Wed, 11 Mar 2009 22:30:01 +0000 (22:30 +0000)]
Add a -no-implicit-float flag. This acts like -soft-float, but may generate
floating point instructions that are explicitly specified by the user.

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

15 years agoSkip interleaved debug info when fast-forwarding through
Dale Johannesen [Wed, 11 Mar 2009 22:19:43 +0000 (22:19 +0000)]
Skip interleaved debug info when fast-forwarding through
allocations.  Apparently the assumption is there is an
instruction (terminator?) following the allocation so I
am allowing the same assumption.

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

15 years agoMy last coalescer fix introduced a subtler one. It's aborting a commuting optimizatio...
Evan Cheng [Wed, 11 Mar 2009 22:18:44 +0000 (22:18 +0000)]
My last coalescer fix introduced a subtler one. It's aborting a commuting optimization too late and left the live intervals to be out of sync with instructions. This fixes 8b10b.

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

15 years agoDebug intriniscs should be skipped when looking
Dale Johannesen [Wed, 11 Mar 2009 21:13:01 +0000 (21:13 +0000)]
Debug intriniscs should be skipped when looking
for a dependency, not terminate the search.

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

15 years agoAnother bug :(
Anton Korobeynikov [Wed, 11 Mar 2009 21:05:21 +0000 (21:05 +0000)]
Another bug :(

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

15 years agoMake Print callable from a pass's print method: add const qualifier. No
Torok Edwin [Wed, 11 Mar 2009 20:50:17 +0000 (20:50 +0000)]
Make Print callable from a pass's print method: add const qualifier. No
functionality change.

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

15 years agoI should definitely read make docs someday :(
Anton Korobeynikov [Wed, 11 Mar 2009 20:40:15 +0000 (20:40 +0000)]
I should definitely read make docs someday :(

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

15 years agodo not pretend llvm/.../*.h being system headers
Gabor Greif [Wed, 11 Mar 2009 20:23:40 +0000 (20:23 +0000)]
do not pretend llvm/.../*.h being system headers

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

15 years agoUnbreak the build. Dunno, why it did not fail on mingw :(
Anton Korobeynikov [Wed, 11 Mar 2009 20:16:05 +0000 (20:16 +0000)]
Unbreak the build. Dunno, why it did not fail on mingw :(

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

15 years agoIt makes no sense to have a ODR version of common
Duncan Sands [Wed, 11 Mar 2009 20:14:15 +0000 (20:14 +0000)]
It makes no sense to have a ODR version of common
linkage, so remove it.

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

15 years agofix validator errors
Gabor Greif [Wed, 11 Mar 2009 20:04:08 +0000 (20:04 +0000)]
fix validator errors

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

15 years agoFix exaples using IRBuilder. Thanks, Quadrescence and Glip7 from IRC!
Gabor Greif [Wed, 11 Mar 2009 19:51:07 +0000 (19:51 +0000)]
Fix exaples using IRBuilder. Thanks, Quadrescence and Glip7 from IRC!

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

15 years agoDisable plugins / shared stuff generation on windows targets.
Anton Korobeynikov [Wed, 11 Mar 2009 19:49:42 +0000 (19:49 +0000)]
Disable plugins / shared stuff generation on windows targets.
This fixes fallout from recent PIC/delibtoolize changes and unbreaks
build on cygming.

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

15 years agoFor yonah, fix a vector shuffle case for v16i8 where we didn't properly clear some...
Mon P Wang [Wed, 11 Mar 2009 18:47:57 +0000 (18:47 +0000)]
For yonah, fix a vector shuffle case for v16i8 where we didn't properly clear some bits.

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

15 years agoimplement support for C-style string literal concatenation in td files.
Chris Lattner [Wed, 11 Mar 2009 17:08:13 +0000 (17:08 +0000)]
implement support for C-style string literal concatenation in td files.

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

15 years agofix PR3785, a valgrind error on test/CodeGen/ARM/pr3502.ll
Chris Lattner [Wed, 11 Mar 2009 16:14:25 +0000 (16:14 +0000)]
fix PR3785, a valgrind error on test/CodeGen/ARM/pr3502.ll

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

15 years agoAdd parentheses to pacify gcc-4.3.
Duncan Sands [Wed, 11 Mar 2009 09:04:34 +0000 (09:04 +0000)]
Add parentheses to pacify gcc-4.3.

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

15 years agoRemove the one-definition-rule version of extern_weak
Duncan Sands [Wed, 11 Mar 2009 08:08:06 +0000 (08:08 +0000)]
Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.

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

15 years agoAllow cross-process JIT to handle MachineRelocations of the ExternalSymbol
Nate Begeman [Wed, 11 Mar 2009 07:03:43 +0000 (07:03 +0000)]
Allow cross-process JIT to handle MachineRelocations of the ExternalSymbol
variety.  For example, an i64 div might turn into a call to __divdi3 during
legalization.

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

15 years agoFixed a v8i16 shuffle case that should generate a pshufb instead of a pshuflw/hw.
Mon P Wang [Wed, 11 Mar 2009 06:35:11 +0000 (06:35 +0000)]
Fixed a v8i16 shuffle case that should generate a pshufb instead of a pshuflw/hw.

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

15 years agoformatting change, reduce indentation. No functionality change.
Chris Lattner [Wed, 11 Mar 2009 05:48:52 +0000 (05:48 +0000)]
formatting change, reduce indentation.  No functionality change.

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

15 years agoreapply my previous patch (r66358) with a tweak to set the
Chris Lattner [Wed, 11 Mar 2009 05:08:08 +0000 (05:08 +0000)]
reapply my previous patch (r66358) with a tweak to set the
alignment of the generated constant pool entry to the
desired alignment of a type.  If we don't do this, we end up
trying to do movsd from 4-byte alignment memory.  This fixes
450.soplex and 456.hmmer.

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

15 years agoPut the assignment back at the top of this method.
Bill Wendling [Wed, 11 Mar 2009 00:03:50 +0000 (00:03 +0000)]
Put the assignment back at the top of this method.

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

15 years agoTwo coalescer fixes in one.
Evan Cheng [Wed, 11 Mar 2009 00:03:21 +0000 (00:03 +0000)]
Two coalescer fixes in one.
1. Use the same value# to represent unknown values being merged into sub-registers.
2. When coalescer commute an instruction and the destination is a physical register, update its sub-registers by merging in the extended ranges.

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

15 years agoMake ivars private. Other cleanup. No functionality change.
Bill Wendling [Tue, 10 Mar 2009 23:57:09 +0000 (23:57 +0000)]
Make ivars private. Other cleanup. No functionality change.

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

15 years agoChanged Allocate to use size_t instead of unsigned.
Mon P Wang [Tue, 10 Mar 2009 23:48:49 +0000 (23:48 +0000)]
Changed Allocate to use size_t instead of unsigned.

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

15 years agoAdd an explicit keyword.
Dan Gohman [Tue, 10 Mar 2009 23:10:46 +0000 (23:10 +0000)]
Add an explicit keyword.

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

15 years agoFixed rounding up EltSize
Mon P Wang [Tue, 10 Mar 2009 23:04:40 +0000 (23:04 +0000)]
Fixed rounding up EltSize

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

15 years agoGive Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative...
Gabor Greif [Tue, 10 Mar 2009 23:02:13 +0000 (23:02 +0000)]
Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end.
This is a preliminary to changes to come. No intended functionality change.

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

15 years agoJust make the Dwarf timer group static inside of the getter function. No need to...
Bill Wendling [Tue, 10 Mar 2009 22:58:53 +0000 (22:58 +0000)]
Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc.

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

15 years agoDon't put static functions in anonymous namespace.
Bill Wendling [Tue, 10 Mar 2009 22:36:31 +0000 (22:36 +0000)]
Don't put static functions in anonymous namespace.

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

15 years agoDon't consider debug intrinsics when checking
Dale Johannesen [Tue, 10 Mar 2009 22:20:02 +0000 (22:20 +0000)]
Don't consider debug intrinsics when checking
whether a callee to be inlined is a leaf.

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

15 years agoThese should *stop* the timer, not start it again.
Bill Wendling [Tue, 10 Mar 2009 22:02:13 +0000 (22:02 +0000)]
These should *stop* the timer, not start it again.

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

15 years ago- Fix misspelled method name.
Bill Wendling [Tue, 10 Mar 2009 21:59:25 +0000 (21:59 +0000)]
- Fix misspelled method name.
- Remove unused method.

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

15 years ago- Create GetOrCreateSourceID from getOrCreateSourceID. GetOrCreateSourceID is
Bill Wendling [Tue, 10 Mar 2009 21:47:45 +0000 (21:47 +0000)]
- Create GetOrCreateSourceID from getOrCreateSourceID. GetOrCreateSourceID is
  the untimed version of getOrCreateSourceID. getOrCreateSourceID calls
  GetOrCreateSourceID, of course.

- Move some methods into the "private" section. Constify at least one method.

- General clean-ups.

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

15 years agoReadd test, but XFAIL it.
Bill Wendling [Tue, 10 Mar 2009 21:31:00 +0000 (21:31 +0000)]
Readd test, but XFAIL it.

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

15 years agoRefine the Dwarf writer timers so that they measure exception writing and debug
Bill Wendling [Tue, 10 Mar 2009 21:23:25 +0000 (21:23 +0000)]
Refine the Dwarf writer timers so that they measure exception writing and debug
writing individually.

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

15 years agoRemoving a dead debug intrinsic shouldn't trigger
Dale Johannesen [Tue, 10 Mar 2009 21:19:49 +0000 (21:19 +0000)]
Removing a dead debug intrinsic shouldn't trigger
another instcombine pass if we weren't going to make
one without debug info.

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

15 years agoRevert 66358 for now. It's breaking povray, 450.soplex, and 456.hmmer on x86 / Darwin.
Evan Cheng [Tue, 10 Mar 2009 20:47:18 +0000 (20:47 +0000)]
Revert 66358 for now. It's breaking povray, 450.soplex, and 456.hmmer on x86 / Darwin.

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

15 years agoAdd a timer to the DwarfWriter pass that measures the total time it takes to
Bill Wendling [Tue, 10 Mar 2009 20:41:52 +0000 (20:41 +0000)]
Add a timer to the DwarfWriter pass that measures the total time it takes to
emit exception and debug Dwarf info.

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

15 years agoAdd -disable-bindings for utils/NewNightlyTest.pl
Daniel Dunbar [Tue, 10 Mar 2009 19:33:13 +0000 (19:33 +0000)]
Add -disable-bindings for utils/NewNightlyTest.pl

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

15 years agoChange these sed lines to behave correctly when the input string
Dan Gohman [Tue, 10 Mar 2009 19:01:23 +0000 (19:01 +0000)]
Change these sed lines to behave correctly when the input string
contains commas. This fixes PR3727.

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

15 years agoUse WriteAsOperand instead of manually decorating the name for this
Dan Gohman [Tue, 10 Mar 2009 18:47:59 +0000 (18:47 +0000)]
Use WriteAsOperand instead of manually decorating the name for this
debug output. This improves the printing of anonymous values.

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

15 years agoFix a post-RA scheduling liveness bug. When a basic block is being
Dan Gohman [Tue, 10 Mar 2009 18:10:43 +0000 (18:10 +0000)]
Fix a post-RA scheduling liveness bug. When a basic block is being
scheduled in multiple regions, liveness data used by the
anti-dependence breaker is carried from one region to the next, however
the information reflects the state of the instructions before scheduling.
After scheduling, there may be new live range overlaps. Handle this by
pessimizing the liveness data carried between regions to the point where
it will be conservatively correct now matter how the earlier region is
scheduled. This fixes a miscompilation in 176.gcc with the post-RA
scheduler enabled.

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

15 years agoIgnore dbg info, while estimating size of jump through block.
Devang Patel [Tue, 10 Mar 2009 18:00:05 +0000 (18:00 +0000)]
Ignore dbg info, while estimating size of jump through block.

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

15 years agoFix rebuilding after a .td file is modified. This was broken since revision
Rafael Espindola [Tue, 10 Mar 2009 17:58:54 +0000 (17:58 +0000)]
Fix rebuilding after a .td file is modified. This was broken since revision
65834.

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

15 years agodon't pass -Wl,-exported_symbol -Wl,_main to the linker when building on
Chris Lattner [Tue, 10 Mar 2009 17:15:56 +0000 (17:15 +0000)]
don't pass -Wl,-exported_symbol -Wl,_main to the linker when building on
Tiger.  PR3743

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

15 years agoTweak the DejaGNU voodoo to match Bill's advice.
Stuart Hastings [Tue, 10 Mar 2009 16:44:45 +0000 (16:44 +0000)]
Tweak the DejaGNU voodoo to match Bill's advice.

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

15 years agoPR3478: raw_ostream should not buffer stderr
Daniel Dunbar [Tue, 10 Mar 2009 16:21:55 +0000 (16:21 +0000)]
PR3478: raw_ostream should not buffer stderr
 - Add unbuffered flag to raw_ostream, forwarded by raw_fd_ostream and
   used by raw_stderr_ostream.

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

15 years agoAdd C++ marker.
Daniel Dunbar [Tue, 10 Mar 2009 15:56:48 +0000 (15:56 +0000)]
Add C++ marker.

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

15 years agoDo not attempt to do parial redundancy elimination on void values.
John Criswell [Tue, 10 Mar 2009 15:04:53 +0000 (15:04 +0000)]
Do not attempt to do parial redundancy elimination on void values.
Also fixed a punctuation error in the header comment.
This fixes PR3775.

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

15 years agoGlobal variables don't have a corresponding llvm.dbg.declare, yet it is possible
Torok Edwin [Tue, 10 Mar 2009 13:41:26 +0000 (13:41 +0000)]
Global variables don't have a corresponding llvm.dbg.declare, yet it is possible
to obtain debug info about them.
Introduce helpers to access debug info for global variables. Also introduce a
helper that works for both local and global variables.

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

15 years agoMark the Defs and Uses of STATUS register correctly, plus some reformatting.
Sanjiv Gupta [Tue, 10 Mar 2009 10:35:34 +0000 (10:35 +0000)]
Mark the Defs and Uses of STATUS register correctly, plus some reformatting.

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

15 years agoIf a function is marked alwaysinline, it must be inlined (possibly for correctness...
Evan Cheng [Tue, 10 Mar 2009 07:57:50 +0000 (07:57 +0000)]
If a function is marked alwaysinline, it must be inlined (possibly for correctness). Do so even if the callee has dynamic alloca and the caller doesn't.

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

15 years agoAdd radar number.
Bill Wendling [Tue, 10 Mar 2009 06:53:54 +0000 (06:53 +0000)]
Add radar number.

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

15 years agowire up support for emitting "special" values from inline asm
Chris Lattner [Tue, 10 Mar 2009 05:37:13 +0000 (05:37 +0000)]
wire up support for emitting "special" values from inline asm
format strings with the standard ${:foo} syntax.

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

15 years agoAdd more information to the EFLAGS note.
Dan Gohman [Tue, 10 Mar 2009 00:26:23 +0000 (00:26 +0000)]
Add more information to the EFLAGS note.

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

15 years agoCheck for warnings about inappropriate weak_imports.
Stuart Hastings [Tue, 10 Mar 2009 00:17:39 +0000 (00:17 +0000)]
Check for warnings about inappropriate weak_imports.
Darwin-specific; marked XFAIL for others.

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

15 years agoAdd a note about EFLAGS optimization.
Dan Gohman [Mon, 9 Mar 2009 23:47:02 +0000 (23:47 +0000)]
Add a note about EFLAGS optimization.

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

15 years agoIgnore debug info while evaluating function.
Devang Patel [Mon, 9 Mar 2009 23:04:12 +0000 (23:04 +0000)]
Ignore debug info while evaluating function.

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

15 years agoDon't record the increment instruction; just recompute it from the Phi
Dan Gohman [Mon, 9 Mar 2009 22:04:01 +0000 (22:04 +0000)]
Don't record the increment instruction; just recompute it from the Phi
if needed. This simplifies the code a little, and is needed for an
upcoming refactoring.

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

15 years agoFix PR3724 by searching for the largest free block when
Chris Lattner [Mon, 9 Mar 2009 21:34:10 +0000 (21:34 +0000)]
Fix PR3724 by searching for the largest free block when
allocating memory in the JIT.  This is insanely inefficient, but
hey, most people implement their own memory managers anyway.

Patch by Eric Yew!

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

15 years agoRemove llvm.dbg.global_variables also.
Devang Patel [Mon, 9 Mar 2009 21:32:28 +0000 (21:32 +0000)]
Remove llvm.dbg.global_variables also.

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

15 years agoFix a few more places where induction variable types were used
Dan Gohman [Mon, 9 Mar 2009 21:22:12 +0000 (21:22 +0000)]
Fix a few more places where induction variable types were used
where memory access types are needed.

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

15 years agoUse ReplacedTy instead of recomputing the same value.
Dan Gohman [Mon, 9 Mar 2009 21:19:58 +0000 (21:19 +0000)]
Use ReplacedTy instead of recomputing the same value.

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

15 years agoUse LoopInfo's getLoopLatch() instead of doing what it does manualy.
Dan Gohman [Mon, 9 Mar 2009 21:14:16 +0000 (21:14 +0000)]
Use LoopInfo's getLoopLatch() instead of doing what it does manualy.

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

15 years agoDon't use an induction variable type as a memory access type.
Dan Gohman [Mon, 9 Mar 2009 21:04:19 +0000 (21:04 +0000)]
Don't use an induction variable type as a memory access type.
Use VoidTy instead, to be properly conservative.

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

15 years agoFactor out the code that determines the memory access type
Dan Gohman [Mon, 9 Mar 2009 21:01:17 +0000 (21:01 +0000)]
Factor out the code that determines the memory access type
of an instruction into a helper function.

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

15 years agoClarify wording, patch by Stefanus Du Toit!
Chris Lattner [Mon, 9 Mar 2009 20:55:18 +0000 (20:55 +0000)]
Clarify wording, patch by Stefanus Du Toit!

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

15 years agoAdd helper pass to remove llvm.dbg.declare intrinsics.
Devang Patel [Mon, 9 Mar 2009 20:49:37 +0000 (20:49 +0000)]
Add helper pass to remove llvm.dbg.declare intrinsics.

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

15 years agoMove the sorting of the StrideOrder array earlier so that it doesn't
Dan Gohman [Mon, 9 Mar 2009 20:46:50 +0000 (20:46 +0000)]
Move the sorting of the StrideOrder array earlier so that it doesn't
have to be done twice.

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

15 years agoDelete the isOnlyStride argument, which is unused.
Dan Gohman [Mon, 9 Mar 2009 20:41:15 +0000 (20:41 +0000)]
Delete the isOnlyStride argument, which is unused.

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

15 years agoTidy some LSR debug output: announce the loop it's about to process
Dan Gohman [Mon, 9 Mar 2009 20:34:59 +0000 (20:34 +0000)]
Tidy some LSR debug output: announce the loop it's about to process
before it does any processing.

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

15 years agoARM target now also recognize triplets like thumbv6-apple-darwin and set thumb mode...
Evan Cheng [Mon, 9 Mar 2009 20:25:39 +0000 (20:25 +0000)]
ARM target now also recognize triplets like thumbv6-apple-darwin and set thumb mode and arch subversion. Eventually thumb triplets will go way and replaced with function notes.

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

15 years agoFix PR3763 by using proper APInt methods instead of uint64_t's.
Chris Lattner [Mon, 9 Mar 2009 20:22:18 +0000 (20:22 +0000)]
Fix PR3763 by using proper APInt methods instead of uint64_t's.

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

15 years agomake the Op<N> methods protected, how it was intended to be
Gabor Greif [Mon, 9 Mar 2009 19:57:49 +0000 (19:57 +0000)]
make the Op<N> methods protected, how it was intended to be

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

15 years agoARM isLegalAddressImmediate should check if type is a simple type now that optimizer...
Evan Cheng [Mon, 9 Mar 2009 19:15:00 +0000 (19:15 +0000)]
ARM isLegalAddressImmediate should check if type is a simple type now that optimizer can create values of funky scalar types.

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

15 years agoYet another case where the spiller marked two uses of the same register on the same...
Evan Cheng [Mon, 9 Mar 2009 19:00:05 +0000 (19:00 +0000)]
Yet another case where the spiller marked two uses of the same register on the same instruction as kill. This fixes PR3706.

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

15 years agoRe-apply 66315, but restrict it to Darwin only.
Evan Cheng [Mon, 9 Mar 2009 18:28:37 +0000 (18:28 +0000)]
Re-apply 66315, but restrict it to Darwin only.

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