Nick Lewycky [Tue, 22 Apr 2008 05:16:02 +0000 (05:16 +0000)]
Start removing 'unwinds to' support from mainline in preparation for 2.3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50086
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 22 Apr 2008 03:57:36 +0000 (03:57 +0000)]
Add MemCpyOpt to LTO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50081
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 22 Apr 2008 03:21:48 +0000 (03:21 +0000)]
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50080
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 22 Apr 2008 02:53:33 +0000 (02:53 +0000)]
optimize "p != gep p, ..." better. This allows us to compile
getelementptr-seteq.ll into:
define i1 @test(i64 %X, %S* %P) {
%C = icmp eq i64 %X, -1 ; <i1> [#uses=1]
ret i1 %C
}
instead of:
define i1 @test(i64 %X, %S* %P) {
%A.idx.mask = and i64 %X,
4611686018427387903 ; <i64> [#uses=1]
%C = icmp eq i64 %A.idx.mask,
4611686018427387903 ; <i1> [#uses=1]
ret i1 %C
}
And fixes the second half of PR2235. This speeds up the insertion sort
case by 45%, from 1.12s to 0.77s. In practice, this will significantly
speed up for loops structured like:
for (double *P = Base + N; P != Base; --P)
...
Which happens frequently for C++ iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50079
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 22 Apr 2008 02:45:44 +0000 (02:45 +0000)]
more fallout from Nicholas' asmprinter patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50078
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 21 Apr 2008 23:59:07 +0000 (23:59 +0000)]
Implement an x86-64 ABI detail of passing structs by hidden first
argument. The x86-64 ABI requires the incoming value of %rdi to
be copied to %rax on exit from a function that is returning a
large C struct.
Also, add a README-X86-64 entry detailing the missed optimization
opportunity and proposing an alternative approach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50075
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Mon, 21 Apr 2008 21:31:55 +0000 (21:31 +0000)]
fix some residual old API that fell thru the cracks of the conversion script, closes llvm.org/bugs/show_bug.cgi?id=2246
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50062
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 21 Apr 2008 20:07:30 +0000 (20:07 +0000)]
Fix an out-of-bounds access in -view-sunit-dags in the case of an
empty ScheduleDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50054
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 21 Apr 2008 19:52:29 +0000 (19:52 +0000)]
Fix the encoding of the MMX movd that moves from MMX to 64-bit GPR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50053
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 21 Apr 2008 19:48:48 +0000 (19:48 +0000)]
Fix the way AliasSet::print prints "may alias".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50051
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 18:25:01 +0000 (18:25 +0000)]
fix grammar-o, thanks to Duncan for noticing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50047
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 21 Apr 2008 08:17:05 +0000 (08:17 +0000)]
Make these structs larger to ensure that they
are returned by struct return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50038
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 21 Apr 2008 08:12:03 +0000 (08:12 +0000)]
Make the struct bigger, to ensure it is returned
by struct return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50037
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 21 Apr 2008 07:51:07 +0000 (07:51 +0000)]
Use GVN in LTO instead of GCSE+LoadVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50036
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 21 Apr 2008 07:47:38 +0000 (07:47 +0000)]
Remove unneeded #include's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50035
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 21 Apr 2008 07:45:10 +0000 (07:45 +0000)]
Refactor memcpyopt based on Chris' suggestions. Consolidate several functions
and simplify code that was fallout from the separation of memcpyopt and gvn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50034
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 21 Apr 2008 07:35:28 +0000 (07:35 +0000)]
Fix a "large integer implicitly truncated to unsigned type"
warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 06:19:02 +0000 (06:19 +0000)]
don't print dominators every time it is computed with -debug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 06:12:55 +0000 (06:12 +0000)]
another bug introduced in r47802 by nicholas, for no apparent reason.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 04:46:30 +0000 (04:46 +0000)]
Add an ugly note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 04:31:40 +0000 (04:31 +0000)]
Add jump threading to liblto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50028
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 04:28:40 +0000 (04:28 +0000)]
run the jump threading pass in llvm-ld also
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50027
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 04:22:09 +0000 (04:22 +0000)]
enable jump threading pass by default. This causes no miscompilations
and can significantly shrinkify some code, particularly from C++ land.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50025
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 04:20:33 +0000 (04:20 +0000)]
fix a bug introduced by Nicholas' "unwinds to" stuff: we
lost newlines between blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50024
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 03:18:33 +0000 (03:18 +0000)]
don't assume that the argument passed to fprintf("%s" is a string. This
fixes a crash in opt on 433.milc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50023
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 02:57:57 +0000 (02:57 +0000)]
Use the new SplitBlockPredecessors to implement a todo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50022
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 01:28:02 +0000 (01:28 +0000)]
Move SplitBlockPredecessors out of loopsimplify into BasicBlockUtils.h
as a global helper function. At the same type, switch it from taking
a vector of predecessors to an arbitrary sequential input. This allows
us to switch LoopSimplify to use a SmallVector for various temporary
vectors that it passed into SplitBlockPredecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50020
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 01:05:08 +0000 (01:05 +0000)]
Move domtree/frontier updating earlier, allowing us to use it to update phi
nodes, removing a hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50019
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 00:54:38 +0000 (00:54 +0000)]
Factor dominator tree and frontier updating into SplitBlockPredecessors
instead of doing it after every call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50018
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 00:25:49 +0000 (00:25 +0000)]
fit some more code in 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50016
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 00:23:14 +0000 (00:23 +0000)]
simplify code, fit in 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50015
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Apr 2008 00:19:16 +0000 (00:19 +0000)]
fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50014
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Sun, 20 Apr 2008 23:39:44 +0000 (23:39 +0000)]
Be pessimistic in computing the buffer size when aligning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50008
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Sun, 20 Apr 2008 23:36:47 +0000 (23:36 +0000)]
Don't forget to update the current operand when getting the size of an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 22:39:42 +0000 (22:39 +0000)]
finish the first cut of a jump threading pass implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50006
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 22:18:22 +0000 (22:18 +0000)]
replace a slow and verbose version of Instruction::isUsedOutsideOfBlock with
a call to Instruction::isUsedOutsideOfBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50005
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 22:11:30 +0000 (22:11 +0000)]
add a handy helper method to instruction, useful for determining
whether it is used outside of some block. This can be used to see
if there are any non-local references, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50004
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 21:18:09 +0000 (21:18 +0000)]
we can only thread blocks when there is a pred we can determine the succ of.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50003
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 21:13:06 +0000 (21:13 +0000)]
improve comments, infrastructure, and add some validity checks for threading.
Add a cost function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50002
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 20:35:01 +0000 (20:35 +0000)]
Add a new Jump Threading pass, which will handle cases
such as those in PR2235. Right now the pass is not very
effective. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50000
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 19:59:12 +0000 (19:59 +0000)]
hopefully resolve PR2240
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 18:24:14 +0000 (18:24 +0000)]
rearrange some code, simplify handling of shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49995
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 20 Apr 2008 18:23:46 +0000 (18:23 +0000)]
Check we aren't trying to convert PPC long double.
This fixes the testsuite failure on ppcf128-4.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49994
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Sun, 20 Apr 2008 17:44:19 +0000 (17:44 +0000)]
Cosmetic changes, as suggested by Evan. No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49993
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 20 Apr 2008 16:58:57 +0000 (16:58 +0000)]
(re)fix handling of UGT. Pointed out by Nick Lewycky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49991
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Sun, 20 Apr 2008 08:33:11 +0000 (08:33 +0000)]
g++-4.3 build-fix: CHAR_BIT requires <climits>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49989
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Sun, 20 Apr 2008 08:33:02 +0000 (08:33 +0000)]
Do not hold the JIT lock when materializing a function and verify if the
function has already been codegen'd. This is required by the Java class loading
mechanism which executes Java code when materializing a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 05:52:46 +0000 (05:52 +0000)]
A better fix for my previous patch, MOVZQI2PQIrr just requires SSE2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49986
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 05:47:56 +0000 (05:47 +0000)]
Not all x86-64 machines have sse3 apparently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49985
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 20 Apr 2008 01:34:03 +0000 (01:34 +0000)]
Check that APFloat::convert is not trying to target
ppc long double, which doesn't work.
This may break some stuff temporarily, but I want to
avoid the propagation of code that assumes this works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49983
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 00:41:19 +0000 (00:41 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49978
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 00:41:09 +0000 (00:41 +0000)]
Switch to using Simplified ConstantFP::get API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49977
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Apr 2008 00:26:06 +0000 (00:26 +0000)]
Use simplified ConstantFP::get method, fix a bug handling frem x, 0 with long doubles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49976
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 22:41:32 +0000 (22:41 +0000)]
free(null) -> noop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49972
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 22:32:52 +0000 (22:32 +0000)]
rename *.llx -> *.ll, last batch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49971
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 22:29:10 +0000 (22:29 +0000)]
rename *.llx -> *.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49970
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 22:26:29 +0000 (22:26 +0000)]
rename *.llx -> *.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49969
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 19 Apr 2008 22:25:09 +0000 (22:25 +0000)]
Merge ... 49966 from branches/ggreif/use-diet to trunk. these are already active API changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49968
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 22:17:26 +0000 (22:17 +0000)]
Implement PR2206.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 21:58:19 +0000 (21:58 +0000)]
refactor handling of symbolic constant folding, picking up
a few new cases( see Integer/a1.ll), but not anything that
would happen in practice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49965
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 21:13:00 +0000 (21:13 +0000)]
indentation fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49964
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 21:01:16 +0000 (21:01 +0000)]
Some clarifications suggested by Jon Sargeant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Apr 2008 19:50:01 +0000 (19:50 +0000)]
Allow argpromote to promote struct arguments with a specified number
of elements. Patch by Matthijs Kooijman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49962
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Apr 2008 02:30:38 +0000 (02:30 +0000)]
64-bit atomic operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49949
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Apr 2008 02:05:42 +0000 (02:05 +0000)]
Also LXCHG64 -> XCHG64rm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49948
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Apr 2008 01:30:48 +0000 (01:30 +0000)]
PPC32 atomic operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49947
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Apr 2008 01:20:30 +0000 (01:20 +0000)]
xchg which references a memory operand does not need to lock prefix. Atomicity is guaranteed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49946
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 19 Apr 2008 00:24:39 +0000 (00:24 +0000)]
Teach llvm-as to accept function types with multiple return types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49945
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 18 Apr 2008 21:38:31 +0000 (21:38 +0000)]
Fix a scalar evolution bug. Reversing everything
does not work because of 0; 2>0 but -2U is also >0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49928
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Fri, 18 Apr 2008 20:59:31 +0000 (20:59 +0000)]
Enable jitting with a known memory size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49924
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 18 Apr 2008 20:56:03 +0000 (20:56 +0000)]
Implement a bit more softfloat support in
LegalizeTypes. Correct the load logic so
that it actually works, and also teach it
to handle floating point extending loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49923
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 18 Apr 2008 20:55:41 +0000 (20:55 +0000)]
Fix the handling of va_copy on x86-64. As of llvm-gcc r49920
llvm-gcc is now lowering va_copy on x86-64, so this completes
the fix for PR2230.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49922
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 18 Apr 2008 20:55:36 +0000 (20:55 +0000)]
- Fix atomic operation JIT encoding.
- Remove unused instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49921
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 18 Apr 2008 20:27:12 +0000 (20:27 +0000)]
Add some more FIXME's for indexed loads and stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49916
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 18 Apr 2008 20:25:14 +0000 (20:25 +0000)]
Provide an explicit list of operands to MakeLibcall,
rather than having it suck them out of a node. Add
a bunch of new libcalls, and remove dead softfloat
code (dead, because FloatToInt is used not Expand
in this case). Note that indexed stores probably
aren't handled properly, likewise for loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49915
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 18 Apr 2008 19:25:26 +0000 (19:25 +0000)]
Correct comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49913
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 18 Apr 2008 19:22:23 +0000 (19:22 +0000)]
Not safe to "kill" a register if its live range extends pass the end of block branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49911
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 17 Apr 2008 23:35:10 +0000 (23:35 +0000)]
Also support Intel asm syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49878
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 17 Apr 2008 23:02:12 +0000 (23:02 +0000)]
Remove the implicit conversion from SDOperandPtr to SDOperand*; this
may fix a build error on Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49876
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 17 Apr 2008 21:26:35 +0000 (21:26 +0000)]
Fix assembly code for atomic operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49869
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 17 Apr 2008 13:56:31 +0000 (13:56 +0000)]
Bring in uint32_t, uint64_t, and int64_t types for MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49854
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 17 Apr 2008 12:03:38 +0000 (12:03 +0000)]
Run SimplifyLibCalls near the beginning, not at
the end. It is now run at the same moment as in
llvm-gcc. Also, run StripDeadPrototypes at the
end, just before running DeadTypeElimination.
This may be useful when doing LTO. Note that
llvm-gcc runs StripDeadPrototypes but not
DeadTypeElimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49848
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Levenstein [Thu, 17 Apr 2008 09:29:48 +0000 (09:29 +0000)]
Minor clean-up based on Dan's comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49844
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 17 Apr 2008 07:58:04 +0000 (07:58 +0000)]
Be more careful with insert_subreg and extract_subreg where either source or destination operand has already been coalesced with another register that's defined by a insert_subreg or extract_subreg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49843
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 17 Apr 2008 05:36:50 +0000 (05:36 +0000)]
Make GVN able to remove unnecessary calls to read-only functions again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49842
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 17 Apr 2008 05:20:39 +0000 (05:20 +0000)]
Use correct name for method in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49841
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 17 Apr 2008 02:09:26 +0000 (02:09 +0000)]
Correct the SrcValue information in the Expand code for va_copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49839
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Thu, 17 Apr 2008 01:30:44 +0000 (01:30 +0000)]
Remove unused variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49838
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 17 Apr 2008 00:06:42 +0000 (00:06 +0000)]
Fix a sub-register indice propagation bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49832
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Wed, 16 Apr 2008 23:46:39 +0000 (23:46 +0000)]
Workaround for PR2207, in which pred_iterator assert gets triggered due to a
wee problem in Xcode 2.[45]/gcc 4.0.1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49831
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 16 Apr 2008 23:44:44 +0000 (23:44 +0000)]
Don't forget about sub-register indices when rematting instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49830
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 16 Apr 2008 22:24:33 +0000 (22:24 +0000)]
Unbreak build on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49822
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 16 Apr 2008 21:57:29 +0000 (21:57 +0000)]
Fix a copy+paste error in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49820
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Wed, 16 Apr 2008 20:46:05 +0000 (20:46 +0000)]
Correlate stubs with functions in JIT: when emitting a stub, the JIT tells the memory manager which function
the stub will resolve.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49814
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 16 Apr 2008 20:45:31 +0000 (20:45 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49813
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 16 Apr 2008 20:24:25 +0000 (20:24 +0000)]
After reading memory that's already freed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49810
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Wed, 16 Apr 2008 20:10:13 +0000 (20:10 +0000)]
Infrastructure for getting the machine code size of a function and an instruction. X86, PowerPC and ARM are implemented
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49809
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 16 Apr 2008 19:03:02 +0000 (19:03 +0000)]
Initialize X863DNowLevel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49808
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 16 Apr 2008 18:48:43 +0000 (18:48 +0000)]
Fix PR2226. Avoid using uninitialized variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49807
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 16 Apr 2008 18:27:02 +0000 (18:27 +0000)]
Add "empty()" method to sys::Path and remove unnecessary whitespace.
Patch by Mikhail Glushenkov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49803
91177308-0d34-0410-b5e6-
96231b3b80d8