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
Dan Gohman [Mon, 8 Oct 2007 15:12:17 +0000 (15:12 +0000)]
In -debug mode, dump SelectionDAGs both before and after the
optimization passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42749
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 15:10:04 +0000 (15:10 +0000)]
Fix grammar in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42748
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 8 Oct 2007 15:08:41 +0000 (15:08 +0000)]
Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42747
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Mon, 8 Oct 2007 14:39:42 +0000 (14:39 +0000)]
Use APInt::tcExtract. It's cleaner, and works :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42746
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Mon, 8 Oct 2007 13:47:12 +0000 (13:47 +0000)]
Add a new function tcExtract for extracting a bignum from an
arbitrary range of bits embedded in the middle of another bignum.
This kind of operation is desirable in many cases of software
floating point, e.g. converting bignum integers to floating point
numbers of fixed precision (you want to extract the precision most
significant bits).
Elsewhere, add an assertion, and exit the shift functions early if
the shift count is zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42745
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Mon, 8 Oct 2007 12:16:59 +0000 (12:16 +0000)]
Fixed downrev Ocaml compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42744
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 8 Oct 2007 07:44:39 +0000 (07:44 +0000)]
Begin the process of allowing DomTree on MBB's. Step One: template DomTreeNode by making it a typedef of a templated DomTreeNodeBase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42743
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 8 Oct 2007 06:59:30 +0000 (06:59 +0000)]
Kill cycle of an live range is always the last use index + 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Oct 2007 03:45:44 +0000 (03:45 +0000)]
Allow passes to just pass up "FunctionPass(&ID)" instead of "FunctionPass((intptr_t)&ID)"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42741
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Mon, 8 Oct 2007 03:45:09 +0000 (03:45 +0000)]
C and Objective Caml bindings for getFunction and getNamedGlobal. Also enhanced
the Objective Caml 'declare_*' functions to behave more or less like
getOrInsertFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Oct 2007 22:00:31 +0000 (22:00 +0000)]
disable this entirely: it is causing use of invalidated iterators and infinite looping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Oct 2007 21:53:12 +0000 (21:53 +0000)]
Fix many regressions on x86 by avoiding dereferencing the end iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Oct 2007 17:57:10 +0000 (17:57 +0000)]
Finish off PR1723, by working around some strange compiler bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42737
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 7 Oct 2007 17:31:42 +0000 (17:31 +0000)]
C and Objective Caml bindings for GlobalVariable::isConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42736
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sun, 7 Oct 2007 12:15:41 +0000 (12:15 +0000)]
Add back convertFromSignExtendedInteger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42735
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sun, 7 Oct 2007 12:10:57 +0000 (12:10 +0000)]
Now that convertFromUnsignedParts has a sane, constant interface,
convertFromZeroExtendedInteger can be simplified as it doesn't need
to make a copy of the source bignum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42734
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sun, 7 Oct 2007 12:07:53 +0000 (12:07 +0000)]
Reimplement convertFromUnsignedInteger so it is passed a const bignum.
It used to modify its argument in-place.
This interface is saner and the implementation more efficient. It will
be needed for decimal->binary conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42733
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sun, 7 Oct 2007 11:45:55 +0000 (11:45 +0000)]
convertFromInteger, as originally written, expected sign-extended
input. APInt unfortunately zero-extends signed integers, so Dale
modified the function to expect zero-extended input. Make this
assumption explicit in the function name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42732
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sun, 7 Oct 2007 08:51:21 +0000 (08:51 +0000)]
combineLostFractions does not need to be a member function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42729
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Berlin [Sun, 7 Oct 2007 04:47:57 +0000 (04:47 +0000)]
Some more problems noticed by Curtis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42717
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 7 Oct 2007 00:13:35 +0000 (00:13 +0000)]
C and Objective Caml bindings for PATypeHolder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42713
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 21:00:36 +0000 (21:00 +0000)]
Bindings for the verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42707
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 17:10:44 +0000 (17:10 +0000)]
Deleting some unnecessary glue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42702
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 16:56:09 +0000 (16:56 +0000)]
Adopting a uniform naming convention for type constructors in
bindings (part le deux).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42701
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 6 Oct 2007 16:39:43 +0000 (16:39 +0000)]
Oops, I really wanted to commit this part also :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42700
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 6 Oct 2007 16:17:49 +0000 (16:17 +0000)]
Move merge code into new helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42699
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 16:05:20 +0000 (16:05 +0000)]
Adopting a uniform naming convention for type constructors in bindings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42698
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 15:11:06 +0000 (15:11 +0000)]
Adopting a uniform naming convention for constant constructors in bindings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42697
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 14:29:36 +0000 (14:29 +0000)]
Adding C and Ocaml bindings for ConstantExpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42696
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 6 Oct 2007 13:07:11 +0000 (13:07 +0000)]
Include DataTypes.h to provide intptr_t type. This fixes OpenBSD compilation of this file.
Inspired by Laurence Tratt's patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42695
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 6 Oct 2007 08:19:55 +0000 (08:19 +0000)]
Reapply 42677.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42692
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 6 Oct 2007 08:09:29 +0000 (08:09 +0000)]
Oops. Forgot this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42691
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sat, 6 Oct 2007 07:29:25 +0000 (07:29 +0000)]
Cleaner, more general exponent output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42690
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 6 Oct 2007 06:13:42 +0000 (06:13 +0000)]
silence warnings in no-assert build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42687
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 6 Oct 2007 06:08:17 +0000 (06:08 +0000)]
revert evan's patch until the header is committed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42686
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 6 Oct 2007 02:46:29 +0000 (02:46 +0000)]
Added DAG xforms. e.g.
(vextract (v4f32 s2v (f32 load $addr)), 0) -> (f32 load $addr)
(vextract (v4i32 bc (v4f32 s2v (f32 load $addr))), 0) -> (i32 load $addr)
Remove x86 specific patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42677
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 6 Oct 2007 01:24:11 +0000 (01:24 +0000)]
Next powerpc long double bits. Comparisons work,
although not well, and shortening FP converts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42672
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 6 Oct 2007 01:22:39 +0000 (01:22 +0000)]
Make test work on non-x86 hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42671
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sat, 6 Oct 2007 00:43:45 +0000 (00:43 +0000)]
Fix and clarify some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42670
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sat, 6 Oct 2007 00:24:48 +0000 (00:24 +0000)]
Generalize tcFullMultiply so that the operands can be of differing
part widths. Also, return the number of parts actually required to
hold the result's value.
Remove an over-cautious condition from rounding of float->hex conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42669
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 6 Oct 2007 00:08:49 +0000 (00:08 +0000)]
Wrapping Value::dump.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42668
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 5 Oct 2007 23:59:36 +0000 (23:59 +0000)]
Removing the silly CHelpers header by rolling wrap and unwrap into the C
bindings headers themselves, hidden behind #ifdef __cplusplus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42666
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 23:33:09 +0000 (23:33 +0000)]
Test case for 3-address conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42664
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 23:13:21 +0000 (23:13 +0000)]
Commute x86 cmove instructions by swapping the operands and change the condition
to its inverse.
Testing this as llcbeta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42661
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 22:34:59 +0000 (22:34 +0000)]
This is done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42656
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 22:31:10 +0000 (22:31 +0000)]
Enable convertToThreeAddress for X86 by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42655
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 5 Oct 2007 22:29:34 +0000 (22:29 +0000)]
Fix bug in updating dominance frontier after loop
unswitch when frontier includes basic blocks that
are not inside loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42654
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 21:55:32 +0000 (21:55 +0000)]
INC64_32r -> LEA64_32r is better than INC64_32r -> LEA32r, but it still can
cause performance degradation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42653
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 20:34:26 +0000 (20:34 +0000)]
In 64-bit mode, avoid using leal with 32-bit 32-bit address size, e.g.
leal 1(%ecx), %edi, which requires 67H prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42647
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 5 Oct 2007 20:04:43 +0000 (20:04 +0000)]
First round of ppc long double. call/return and
basic arithmetic works.
Rename RTLIB long double functions to distinguish
different flavors of long double; the lib functions
have different names, alas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42644
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 18:20:36 +0000 (18:20 +0000)]
Add support to convert more 64-bit instructions to 3-address instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42642
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 17:59:57 +0000 (17:59 +0000)]
ADC and SBB uses EFLAGS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42640
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Oct 2007 17:40:38 +0000 (17:40 +0000)]
Mark count method const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42639
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 15:58:41 +0000 (15:58 +0000)]
Change a few more spaces to tabs in assembly output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42638
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 15:54:58 +0000 (15:54 +0000)]
Change a space to a tab in the assembly output of a .globl directive
for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42637
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 14:17:22 +0000 (14:17 +0000)]
Legalize support for MUL_LOHI and DIVREM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42636
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 14:11:58 +0000 (14:11 +0000)]
Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42635
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 14:11:04 +0000 (14:11 +0000)]
Provide names for MUL_LOHI and DIVREM operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42634
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 14:09:33 +0000 (14:09 +0000)]
SMUL_LOHI and UMUL_LOHI are commutative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42633
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 5 Oct 2007 14:07:56 +0000 (14:07 +0000)]
Define target-indepenent SDNode types for multiply and divide that
produce two results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42632
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 5 Oct 2007 10:37:00 +0000 (10:37 +0000)]
Fix typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42631
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 08:04:01 +0000 (08:04 +0000)]
Testing convertToThreeeAddress as X86 llcbeta.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42630
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Berlin [Fri, 5 Oct 2007 05:10:53 +0000 (05:10 +0000)]
Fix intersectWithComplement bug noticed by Curtis Dunham
Optimize |= case for empty RHS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42629
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Oct 2007 01:44:22 +0000 (01:44 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42628
91177308-0d34-0410-b5e6-
96231b3b80d8