Duncan Sands [Fri, 12 Oct 2007 19:37:31 +0000 (19:37 +0000)]
Due to the new tail call optimization, trampolines can no
longer be created for fastcc functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42925
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 12 Oct 2007 19:02:17 +0000 (19:02 +0000)]
ppc long double. Implement fabs and fneg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42924
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 18:22:55 +0000 (18:22 +0000)]
Update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Oct 2007 18:16:23 +0000 (18:16 +0000)]
don't use intptr_t without including it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Oct 2007 18:05:47 +0000 (18:05 +0000)]
Fix a bug in my patch last night that broke InstCombine/2007-10-12-Crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42920
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 12 Oct 2007 17:52:03 +0000 (17:52 +0000)]
Implement i64->ppcf128 conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Oct 2007 17:49:52 +0000 (17:49 +0000)]
Make this compute the correct offset, handling alignment of the element
pointer correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42918
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 17:16:50 +0000 (17:16 +0000)]
Did mean to leave this in. INSERT_SUBREG isn't being coalesced yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42916
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Fri, 12 Oct 2007 16:05:57 +0000 (16:05 +0000)]
Remove duplicate comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42913
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Fri, 12 Oct 2007 16:02:31 +0000 (16:02 +0000)]
Implement correctly-rounded decimal->binary conversion, i.e. conversion
from user input strings.
Such conversions are more intricate and subtle than they may appear;
it is unlikely I have got it completely right first time. I would
appreciate being informed of any bugs and incorrect roundings you
might discover.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42912
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Fri, 12 Oct 2007 15:35:10 +0000 (15:35 +0000)]
Remove a field that was never used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42911
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Fri, 12 Oct 2007 15:33:27 +0000 (15:33 +0000)]
If we're trying to be arbitrary precision, unsigned char clearly won't cut it. Needed for dec->bin conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42910
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Fri, 12 Oct 2007 15:31:31 +0000 (15:31 +0000)]
Don't attempt to mask no bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42909
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Oct 2007 14:53:36 +0000 (14:53 +0000)]
Change the names used for internal labels to use the current
function symbol name instead of a codegen-assigned function
number.
Thanks Evan! :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42908
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Oct 2007 14:33:11 +0000 (14:33 +0000)]
Fix some corner cases with vectors in copyToRegs and copyFromRegs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42907
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Oct 2007 14:13:46 +0000 (14:13 +0000)]
Add support to SplitVectorOp for powi, where the second operand
is a scalar integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42906
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Oct 2007 14:09:42 +0000 (14:09 +0000)]
Mark vector ctpop, cttz, and ctlz as Expand on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42905
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Oct 2007 14:08:57 +0000 (14:08 +0000)]
Mark vector pow, ctpop, cttz, and ctlz as Expand on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42904
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 09:15:53 +0000 (09:15 +0000)]
Restrict EXTRACT_SUBREG coalescing to avoid negative performance impact.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42903
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 09:10:27 +0000 (09:10 +0000)]
Doh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42901
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 09:03:31 +0000 (09:03 +0000)]
EXTRACT_SUBREG test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42900
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 08:50:34 +0000 (08:50 +0000)]
EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like
(almost) a register copy. However, it always coalesced to the register of the
RHS (the super-register). All uses of the result of a EXTRACT_SUBREG are sub-
register uses which adds subtle complications to load folding, spiller rewrite,
etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42899
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 08:45:27 +0000 (08:45 +0000)]
Some clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42898
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 08:40:44 +0000 (08:40 +0000)]
Cosmetic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42897
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 08:39:02 +0000 (08:39 +0000)]
Fix typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42896
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 08:38:01 +0000 (08:38 +0000)]
Fold load / store into MOV32to32_ and MOV16to16_.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42895
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Oct 2007 07:55:53 +0000 (07:55 +0000)]
Flag MOV32to32_ with EXTRACT_SUBREG. They should not be scheduled apart.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42894
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Fri, 12 Oct 2007 07:49:48 +0000 (07:49 +0000)]
Added missing -march=x86 flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42893
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 12 Oct 2007 07:44:54 +0000 (07:44 +0000)]
eliminate warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Oct 2007 05:30:59 +0000 (05:30 +0000)]
Fix some 80 column violations.
Fix DecomposeSimpleLinearExpr to handle simple constants better.
Don't nuke gep(bitcast(allocation)) if the bitcast(allocation) will
fold the allocation. This fixes PR1728 and Instcombine/malloc3.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Oct 2007 05:29:53 +0000 (05:29 +0000)]
testcase for PR1728
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Oct 2007 03:48:59 +0000 (03:48 +0000)]
make operator== work with non-equal sized bitvectors, as long as
the extra bits are all zeros. This allows "010" and "010000" to be
treated as equal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42889
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 12 Oct 2007 01:37:08 +0000 (01:37 +0000)]
PPC long double. Implement a couple more conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42888
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Oct 2007 00:01:22 +0000 (00:01 +0000)]
Add intrinsics for sin, cos, and pow. These use llvm_anyfloat_ty, and so
may be overloaded with vector types. And add a testcase for codegen for
these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42885
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Oct 2007 23:57:53 +0000 (23:57 +0000)]
Codegen support for vector intrinsics.
Factor out the code that expands the "nasty scalar code" for unrolling
vectors into a separate routine, teach it how to handle mixed
vector/scalar operands, as seen in powi, and use it for several operators,
including sin, cos, powi, and pow.
Add support in SplitVectorOp for fpow, fpowi and for several unary
operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42884
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 11 Oct 2007 23:32:15 +0000 (23:32 +0000)]
Implement ppc long double->uint conversion.
Make ppc long double constants print.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42882
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Oct 2007 23:21:31 +0000 (23:21 +0000)]
Set ISD::FPOW to Expand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42881
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Oct 2007 23:09:10 +0000 (23:09 +0000)]
Add runtime library names for pow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42880
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Oct 2007 23:06:37 +0000 (23:06 +0000)]
Add an ISD::FPOW node type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42879
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Oct 2007 23:04:36 +0000 (23:04 +0000)]
Add an explicit target triple to make this test behave as expected on
non-Apple hosts. And use the count script instead of wc + grep.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42878
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 11 Oct 2007 21:51:04 +0000 (21:51 +0000)]
Provided accessors to internal allocator for ImutAVLTree and ImmutableSet.
Added postfix ++,-- support for ImmutableSet::iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42877
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 11 Oct 2007 20:58:37 +0000 (20:58 +0000)]
Add missing argument to PALIGNR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42874
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 11 Oct 2007 19:40:35 +0000 (19:40 +0000)]
Fix an assertion abort on sparc. malloc(0) is allowed to
return NULL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42871
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Thu, 11 Oct 2007 19:40:01 +0000 (19:40 +0000)]
Added tail call optimization to the x86 back end. It can be
enabled by passing -tailcallopt to llc. The optimization is
performed if the following conditions are satisfied:
* caller/callee are fastcc
* elf/pic is disabled OR
elf/pic enabled + callee is in module + callee has
visibility protected or hidden
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42870
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Thu, 11 Oct 2007 18:54:49 +0000 (18:54 +0000)]
Adding myself
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42869
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 11 Oct 2007 18:07:22 +0000 (18:07 +0000)]
Next PPC long double bits. First cut at constants.
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles in
Legalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42865
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 11 Oct 2007 17:21:57 +0000 (17:21 +0000)]
Lower memcpy if it makes sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 11 Oct 2007 06:12:33 +0000 (06:12 +0000)]
make bitvector &= do the right thing if vectors have mismatched length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 11 Oct 2007 04:18:11 +0000 (04:18 +0000)]
Add a new use_iterator::atEnd() method, which allows us to shrink
pred_iterator down to a single ivar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42859
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 11 Oct 2007 00:14:49 +0000 (00:14 +0000)]
Added iterators to ImmutableSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42851
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 23:47:03 +0000 (23:47 +0000)]
Added some doxygen comments to ImmutableSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42850
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 23:35:04 +0000 (23:35 +0000)]
Removed uninformative assertions that catch problems that will
fire anyway at runtime due to a NULL dereference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42848
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 23:32:01 +0000 (23:32 +0000)]
Removed "height" of an AVL tree node from its Profile. This is
implicitly captured by using the addresses of its children in the
profile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42847
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 20:45:34 +0000 (20:45 +0000)]
Removed spurious forward declaration to a structure that will no longer be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42839
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 20:44:21 +0000 (20:44 +0000)]
Added some doxygen comments to a few methods of ImutAVLTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42837
91177308-0d34-0410-b5e6-
96231b3b80d8
Hartmut Kaiser [Wed, 10 Oct 2007 19:50:09 +0000 (19:50 +0000)]
Updated VC++ build system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42835
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 18:11:16 +0000 (18:11 +0000)]
Added preliminary support for iterators in ImutAVLTree.
Implemented ImutAVLTree::isEqual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Oct 2007 18:10:57 +0000 (18:10 +0000)]
Fix CodeGen/Generic/BasicInstrs.llx on sparc by marking divrem
illegal. Thanks to gabor for pointing this out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42832
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 10 Oct 2007 16:27:33 +0000 (16:27 +0000)]
Renamed internal method "Create" of ImutAVLTree to "CreateNode".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42825
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 10 Oct 2007 09:54:50 +0000 (09:54 +0000)]
Correct swapped arguments to getConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42824
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 10 Oct 2007 05:45:59 +0000 (05:45 +0000)]
Fix 80-column violations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42823
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Oct 2007 01:01:31 +0000 (01:01 +0000)]
Next PPC long double bits: ppcf128->i32 conversion.
Surprisingly complicated.
Adds getTargetNode for 2 outputs, no inputs (missing).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42822
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 10 Oct 2007 00:11:40 +0000 (00:11 +0000)]
Bad choice of variable name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42821
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 9 Oct 2007 23:36:27 +0000 (23:36 +0000)]
Fix an extremely stupid bug that prevented first round of coalescing (physical registers only) from happening.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42820
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Oct 2007 21:49:49 +0000 (21:49 +0000)]
Modified XCode project to contain...
ADT/DenseSet.h
ADT/ImmutableMap.h
ADT/ImmutableSet.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42816
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Oct 2007 21:46:38 +0000 (21:46 +0000)]
Add new MemoryBuffer::getMemBufferCopy method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42815
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 9 Oct 2007 21:41:00 +0000 (21:41 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42814
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Oct 2007 21:38:09 +0000 (21:38 +0000)]
Added implementation of immutable (functional) maps and sets, as
implemented on top of a functional AVL tree. The AVL balancing code
is inspired by the OCaml implementation of Map, which also uses a functional
AVL tree.
Documentation is currently limited and cleanups are planned, but this code
compiles and has been tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42813
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 9 Oct 2007 21:31:36 +0000 (21:31 +0000)]
Do not walk invalid iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42812
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 9 Oct 2007 19:49:19 +0000 (19:49 +0000)]
Add LLVMFoldingBuilder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42806
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Oct 2007 18:39:48 +0000 (18:39 +0000)]
Remove an unnecessary friend declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Oct 2007 16:27:44 +0000 (16:27 +0000)]
update prototype, fixing build error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42789
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Oct 2007 16:04:57 +0000 (16:04 +0000)]
Pass argc by value, not by reference, since it isn't modified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42788
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Oct 2007 15:45:13 +0000 (15:45 +0000)]
LowerIntegerDivOrRem no longer exists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42787
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Oct 2007 15:44:37 +0000 (15:44 +0000)]
Fix grammar in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42786
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Oct 2007 15:42:21 +0000 (15:42 +0000)]
This is done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42785
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Oct 2007 15:39:37 +0000 (15:39 +0000)]
These two tests now require only two multiply instructions,
instead of four.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42784
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 9 Oct 2007 07:14:53 +0000 (07:14 +0000)]
Under 64-bit mode use LEA64_32r instead of LEA64r to save a byte.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42783
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Oct 2007 05:42:12 +0000 (05:42 +0000)]
Fix problems where DenseMap used operator!= instead of correctly
calling the traits implementation of isEqual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42782
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Oct 2007 03:40:30 +0000 (03:40 +0000)]
Change a #include into a forward declaration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42781
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 9 Oct 2007 03:15:11 +0000 (03:15 +0000)]
Position Independent Code (PIC) support [3]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42780
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 9 Oct 2007 03:01:19 +0000 (03:01 +0000)]
Position Independent Code (PIC) support [2]
- Added a function to hold the stack location
where GP must be stored during LowerCALL
- AsmPrinter now emits directives based on
relocation type
- PIC_ set to default relocation type (same as GCC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42779
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 9 Oct 2007 02:55:31 +0000 (02:55 +0000)]
Position Independent Code (PIC) support [1]
- Modified instruction format to handle pseudo instructions
- Added LoadAddr SDNode to load symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42778
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 8 Oct 2007 22:20:32 +0000 (22:20 +0000)]
Update test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42775
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 8 Oct 2007 22:16:29 +0000 (22:16 +0000)]
Bug fix. X86 was emitting redundant setcc and test instructions before a conditional move.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42774
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 21:27:12 +0000 (21:27 +0000)]
Call getFunctionNumber() instead of referencing FunctionNumber directly,
for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42769
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 21:15:07 +0000 (21:15 +0000)]
Mark the prefetch intrinsic as IntrWriteArgMem, instead of the
default of IntrWriteMem, to at least indicate that it doesn't
"capture" the argument pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42768
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 20:48:12 +0000 (20:48 +0000)]
These two tests now require only three multiply instructions,
instead of four.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42765
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Oct 2007 18:42:45 +0000 (18:42 +0000)]
Various improvements to the documentation, contributed by
Joshua Haberman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42763
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 18:33:35 +0000 (18:33 +0000)]
Migrate X86 and ARM from using X86ISD::{,I}DIV and ARMISD::MULHILO{U,S} to
use ISD::{S,U}DIVREM and ISD::{S,U}MUL_HIO. Move the lowering code
associated with these operators into target-independent in LegalizeDAG.cpp
and TargetLowering.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42762
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 8 Oct 2007 18:27:46 +0000 (18:27 +0000)]
Allow x86 compare to be commutable by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42761
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Mon, 8 Oct 2007 18:14:39 +0000 (18:14 +0000)]
C and Objective Caml bindings for PHINode::addIncoming etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42760
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 17:57:15 +0000 (17:57 +0000)]
DAGCombiner support for UDIVREM/SDIVREM and UMUL_LOHI/SMUL_LOHI.
Check if one of the two results unneeded so see if a simpler operator
could bs used. Also check to see if each of the two computations could be
simplified if they were split into separate operators. Factor out the code
that calls visit() so that it can be used for this purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42759
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 8 Oct 2007 17:54:24 +0000 (17:54 +0000)]
LLVM does not use the old style simple isel any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42758
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 8 Oct 2007 17:49:43 +0000 (17:49 +0000)]
Remove debugging printf to get build going on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42757
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 17:28:24 +0000 (17:28 +0000)]
When we start enabling SMUL_LOHI/UMUL_LOHI or SDIVREM/UDIVREM in
target-indepenent lowering, don't use them on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42755
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 15:49:58 +0000 (15:49 +0000)]
Add convenience overloads of SelectionDAG::getNode that take a SDVTList
and individual SDOperand operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42753
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 15:45:12 +0000 (15:45 +0000)]
Move the space in overview output for commands out of each of the
commands and into the common code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 15:16:25 +0000 (15:16 +0000)]
Simplify getIntPtrType, allowing it to work for arbitrary pointer sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42751
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 15:13:30 +0000 (15:13 +0000)]
Use correct parentheses with the '&& "..."' idiom in an assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42750
91177308-0d34-0410-b5e6-
96231b3b80d8