Chris Lattner [Fri, 13 Mar 2009 07:05:43 +0000 (07:05 +0000)]
split buffer management and diagnostic printing out of the tblgen
lexer into its own TGSourceMgr class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66873
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 13 Mar 2009 05:55:11 +0000 (05:55 +0000)]
Convert VirtRegMap to a MachineFunctionPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Mar 2009 05:53:31 +0000 (05:53 +0000)]
generalize the previous code to use the full generality of LEA
for i32/i64 expressions (we could also do i16 on cpus where
i16 lea is fast, but I didn't add this). On the example, we now
generate:
_test:
movl 4(%esp), %eax
cmpl $42, (%eax)
setl %al
movzbl %al, %eax
leal 4(%eax,%eax,8), %eax
ret
instead of:
_test:
movl 4(%esp), %eax
cmpl $41, (%eax)
movl $4, %ecx
movl $13, %eax
cmovg %ecx, %eax
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Mar 2009 05:22:11 +0000 (05:22 +0000)]
optimize the case of cond ? 42 : 41 and friends. This compiles the
example to:
_test:
movl 4(%esp), %eax
cmpl $41, (%eax)
setg %al
movzbl %al, %eax
orl $
4294967294, %eax
ret
instead of:
movl 4(%esp), %eax
cmpl $41, (%eax)
movl $
4294967294, %ecx
movl $
4294967295, %eax
cmova %ecx, %eax
ret
which is smaller in code size and faster. rdar://
6668608
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66868
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 13 Mar 2009 04:39:26 +0000 (04:39 +0000)]
Oops...I committed too much.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66867
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 13 Mar 2009 04:37:11 +0000 (04:37 +0000)]
Temporarily XFAIL this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66866
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 13 Mar 2009 02:25:09 +0000 (02:25 +0000)]
Enhance address-mode folding of ISD::ADD to handle cases where the
operands can't both be fully folded at the same time. For example,
in the included testcase, a global variable is being added with
an add of two values. The global variable wants RIP-relative
addressing, so it can't share the address with another base
register, but it's still possible to fold the initial add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66865
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 13 Mar 2009 01:05:24 +0000 (01:05 +0000)]
Fix one more place where debug info affected
codegen (speculative execution).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Mar 2009 00:24:01 +0000 (00:24 +0000)]
just initialize the first element, we don't need to set the rest to zeros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Mar 2009 00:03:51 +0000 (00:03 +0000)]
Eliminate a 9640 byte static mutable initialized data item by moving it
to the stack. This shrinks all llvm tools by 9k, and improves reentrancy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Mar 2009 23:59:55 +0000 (23:59 +0000)]
static functions don't need an anonymous namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66845
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 12 Mar 2009 23:55:10 +0000 (23:55 +0000)]
Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66843
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 12 Mar 2009 23:18:09 +0000 (23:18 +0000)]
Previous debug info fix to this code wasn't quite
right; did the wrong thing when there are exactly 11
non-debug instructions, followed by debug info.
Remove a FIXME since it's apparently been fixed along the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66840
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 12 Mar 2009 23:13:03 +0000 (23:13 +0000)]
cosmetic change, in preparation of future change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66839
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Mar 2009 23:01:35 +0000 (23:01 +0000)]
Add this test back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66838
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 12 Mar 2009 22:02:44 +0000 (22:02 +0000)]
raw_ostream: unbuffered streams weren't being immediately flushed on
single character writes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66827
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 12 Mar 2009 21:13:42 +0000 (21:13 +0000)]
Revert commit 66140 since it caused several failures
in the Ada testcase. Reverting this only covers up
the real problem, which is a nasty conceptual difficulty
in the phi elimination pass: when eliminating phi nodes
in landing pads, the register copies need to come before
the invoke, not at the end of the basic block which is
too late... See PR3784.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66826
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Thu, 12 Mar 2009 21:03:53 +0000 (21:03 +0000)]
Darwin 10.4.x: "-rpath" is unnecessary when linking shared libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66825
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 12 Mar 2009 21:01:11 +0000 (21:01 +0000)]
There already was a class to force deterministic
sorting of ConstantInt's; unreinvent wheel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66824
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 12 Mar 2009 19:47:24 +0000 (19:47 +0000)]
Fix an inconsistent use of LLVMGCCDIR. In all other cases, this directory
refers to the "prefix" directory, i.e., one level above "bin". LLVMGCCPATH
is used as the directory containing the llvm-gcc executable, so add a "/bin"
suffix to get from LLVMGCCDIR to LLVMGCCPATH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66823
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 12 Mar 2009 18:34:49 +0000 (18:34 +0000)]
Rearrange operands of the BranchInst, to be able to
access each with a fixed negative index from op_end().
This has two important implications:
- getUser() will work faster, because there are less iterations
for the waymarking algorithm to perform. This is important
when running various analyses that want to determine callers
of basic blocks.
- getSuccessor() now runs faster, because the indirection via OperandList
is not necessary: Uses corresponding to the successors are at fixed
offset to "this".
The price we pay is the slightly more complicated logic in the operator
User::delete, as it has to pick up the information whether it has to free
the memory of an original unconditional BranchInst or a BranchInst that
was originally conditional, but has been shortened to unconditional.
I was not able to come up with a nicer solution to this problem. (And
rest assured, I tried *a lot*).
Similar reorderings will follow for InvokeInst and CallInst. After that
some optimizations to pred_iterator and CallSite will fall out naturally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66815
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Mar 2009 18:15:39 +0000 (18:15 +0000)]
Re-apply 66024 with fixes: 1. Fixed indirect call to immediate address assembly. 2. Fixed JIT encoding by making the address pc-relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66803
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 12 Mar 2009 17:42:45 +0000 (17:42 +0000)]
Another missing check for debug intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Mar 2009 17:22:48 +0000 (17:22 +0000)]
Fully initialize all ivars, fixing PR3790, patch by Edwin Torok!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66798
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Mar 2009 17:07:39 +0000 (17:07 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66797
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Mar 2009 16:10:08 +0000 (16:10 +0000)]
Fix test after Chris' select changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66795
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 12 Mar 2009 11:56:12 +0000 (11:56 +0000)]
Adjust this test for recent sroa improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66791
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 12 Mar 2009 10:30:31 +0000 (10:30 +0000)]
add some text to explain sentinels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66790
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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