1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
Commit Graph

1148 Commits

Author SHA1 Message Date
Evan Cheng
2ce6ccab6d Teach DAGISelEmitter about zero_reg.
llvm-svn: 37900
2007-07-05 07:19:45 +00:00
Evan Cheng
2a4b3f341b Instructions with ImmutablePredicateOperand aren't really predicable since their predicates are fixed at isel time.
llvm-svn: 37899
2007-07-05 07:19:29 +00:00
Reid Spencer
b7e9781af2 Ignore the .svn directories so countloc.sh and llvmgrep won't traverse them.
llvm-svn: 37867
2007-07-04 01:35:32 +00:00
Anton Korobeynikov
b03fde6e79 Test modified svn mailer
llvm-svn: 37859
2007-07-03 21:57:50 +00:00
Reid Spencer
d0ce01f3de Remove the last vestiges of -usesvn.
Implement -usecvs just in case we need to go back to cvs for some reason.

llvm-svn: 37837
2007-07-02 06:19:57 +00:00
Reid Spencer
796eb92698 We want the Subversion checkout to succeed even if we don't specify
the -verbose option! Doh!

llvm-svn: 37836
2007-07-02 06:16:32 +00:00
John Criswell
5e067e8643 Applied Reid's patch. Long live Subversion!
llvm-svn: 37812
2007-06-29 19:12:50 +00:00
John Criswell
57e5ed4b5a Convert .cvsignore files
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Reid Spencer
3b037fbe81 Fix problems with the checkout and cd directories for SVN checkout.
llvm-svn: 37797
2007-06-29 03:12:42 +00:00
Evan Cheng
c8b17dd965 One additional field in TargetRegisterDesc.
llvm-svn: 37760
2007-06-27 17:09:34 +00:00
Evan Cheng
ac10d44736 Add immediate sub-registers.
llvm-svn: 37738
2007-06-26 20:59:16 +00:00
Reid Spencer
fee7d394f7 Update for Subversion conversion:
1. Fix comments for -usesvn and -svnurl options.
2. Fix default URL for SVN access.
3. Fix paths to accommodate "trunk" when checking out from SVN.

llvm-svn: 37736
2007-06-26 17:08:16 +00:00
Dan Gohman
9cbc3fb1ab Revert the earlier change that removed the M_REMATERIALIZABLE machine
instruction flag, and use the flag along with a virtual member function
hook for targets to override if there are instructions that are only
trivially rematerializable with specific operands (i.e. constant pool
loads).

llvm-svn: 37728
2007-06-26 00:48:07 +00:00
Dan Gohman
550ec9362b Fix a typo in a comment.
llvm-svn: 37727
2007-06-26 00:43:18 +00:00
Chris Lattner
efa46b445c silence warning when assertions are disabled.
llvm-svn: 37654
2007-06-19 06:40:46 +00:00
Dan Gohman
b60d8a92c9 Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad
with a general target hook to identify rematerializable instructions. Some
instructions are only rematerializable with specific operands, such as loads
from constant pools, while others are always rematerializable. This hook
allows both to be identified as being rematerializable with the same
mechanism.

llvm-svn: 37644
2007-06-19 01:48:05 +00:00
Evan Cheng
12b3002673 Replace TargetInstrInfo::CanBeDuplicated() with a M_NOT_DUPLICABLE bit.
llvm-svn: 37643
2007-06-19 01:26:51 +00:00
Christopher Lamb
68017d151b Add support to tablegen for specifying subregister classes on a per register class basis.
llvm-svn: 37572
2007-06-13 22:20:15 +00:00
Evan Cheng
1be50b2f54 Add clobbersPred - instruction that clobbers condition code / register which are used to predicate instructions.
llvm-svn: 37465
2007-06-06 10:14:55 +00:00
Bill Wendling
d2b1274d1b Patches by Chuck Rose to unbreak V Studio builds.
Thanks Chuck!

llvm-svn: 37428
2007-06-04 23:52:59 +00:00
Dan Gohman
4ea79a66c2 Remove the operator<< for MVT::ValueType in preparation for MVT::ValueType
being changed from an enum to an integer type, which can't have a custom
operator<< overload.

llvm-svn: 37412
2007-06-04 16:11:03 +00:00
Reid Spencer
31622dd4a9 The Intrinsic::getDeclaration function's Tys parameter only contains the
types of the iAny types involved in the overloaded intrinsic. Thus, we
can't use the argument number as the index but have to count them separately
in order to index Tys correctly. This patch rectifies this situation.

llvm-svn: 37296
2007-05-22 19:30:31 +00:00
Evan Cheng
ecb8e3dc44 Rename M_PREDICATED to M_PREDICABLE; opcode can be specified isPredicable without having a PredicateOperand.
llvm-svn: 37116
2007-05-16 20:45:24 +00:00
Chris Lattner
39d713e4a5 Fix CodeGen/PowerPC/2007-05-14-InlineAsmSelectCrash.ll, the other recent
patches are also needed.

llvm-svn: 37070
2007-05-15 01:36:44 +00:00
Evan Cheng
f96cf9eab6 Added \!con(a,b) syntax to concatnate two dag fragments.
llvm-svn: 37063
2007-05-15 01:23:24 +00:00
Evan Cheng
34ce8e7297 Mark all (not just the first) predicate operand M_PREDICATE_OPERAND.
llvm-svn: 37061
2007-05-15 01:20:36 +00:00
Evan Cheng
0afaeec496 PredicateOperand related bug fix.
llvm-svn: 37060
2007-05-15 01:19:51 +00:00
Evan Cheng
f3da111f16 Remove duplicated line.
llvm-svn: 37040
2007-05-14 18:03:45 +00:00
Evan Cheng
41d7d13158 If a PredicateOperand has an empty ExecuteAlways field, treat it as if a normal operand for isel.
llvm-svn: 36946
2007-05-08 21:04:07 +00:00
Bill Wendling
dc82c5a195 Add an "implies" field to features. This indicates that, if the current
feature is set, then the features in the implied list should be set also.
The opposite is also enforced: if a feature in the implied list isn't set,
then the feature that owns that implies list shouldn't be set either.

llvm-svn: 36756
2007-05-04 20:38:40 +00:00
Lauro Ramos Venancio
4b7c032c6e Make my proxy happy.
llvm-svn: 36665
2007-05-03 14:05:07 +00:00
Nate Begeman
e32b8f8b4b A bit of feedback from Chris that I missed; error rather than asserting.
llvm-svn: 36619
2007-05-01 06:08:36 +00:00
Nate Begeman
767ee95d29 llvm bug #1350, parts 1, 2, and 3.
llvm-svn: 36618
2007-05-01 05:57:02 +00:00
Dan Gohman
eaa7a3889e Update a comment to reflect recent changes in the type system.
llvm-svn: 36486
2007-04-26 19:43:14 +00:00
Lauro Ramos Venancio
40822aaf24 bugfix: remember that ResNode was declared.
llvm-svn: 36477
2007-04-26 17:03:22 +00:00
Christopher Lamb
56768513ee Fix generation of certain scheduler itineraries.
llvm-svn: 36338
2007-04-22 09:04:24 +00:00
Evan Cheng
59dcbfde67 Bug fix; add super-registers sets.
llvm-svn: 36296
2007-04-21 00:55:29 +00:00
Lauro Ramos Venancio
bc32d90b46 Implement "general dynamic", "initial exec" and "local exec" TLS models for
X86 32 bits.

llvm-svn: 36283
2007-04-20 21:38:10 +00:00
Evan Cheng
842e2c48a0 Add sub-registers sets.
llvm-svn: 36278
2007-04-20 21:13:46 +00:00
Reid Spencer
f12ab5a55b For PR1328:
Don't assert everytime an intrinsic name isn't recognized. Instead, make
the assert optional when callin getIntrinsicID(). This allows the assembler
to handle invalid intrinsic names gracefully.

llvm-svn: 36120
2007-04-16 06:54:34 +00:00
Tanya Lattner
425b614986 Adding target triplet to be passed to database.
llvm-svn: 35958
2007-04-13 04:36:48 +00:00
Jeff Cohen
8d7aaa4843 Correctly report version of GCC used.
llvm-svn: 35866
2007-04-10 19:13:43 +00:00
Reid Spencer
543d051aad Update for PathWithStatus
llvm-svn: 35745
2007-04-07 19:49:35 +00:00
Reid Spencer
ed3e05f699 Terminate some lines that need to be.
llvm-svn: 35725
2007-04-07 05:20:07 +00:00
Reid Spencer
ed64d11c33 Reinstate the SVN capability without requiring Date::Parse. As before the
SVN Repository is only used if requested with -usesvn option otherwise it
uses CVS.

llvm-svn: 35721
2007-04-07 04:41:16 +00:00
Reid Spencer
22ecfc9cc9 Revert this until the Date::Parse module can be installed on the nightly
testers.

llvm-svn: 35657
2007-04-04 06:59:36 +00:00
Reid Spencer
fcebed346e Prepare for Subversion migration by implementing a -usesvn to tell the
script to to check out llvm and llvm-test from Subversion instead of CVS.
Without this option the script will continue to check out from CVS. To
specify the Subversion URL, set the SVNURL environment variable or pass
-svnurl followed by the URL. For now, -svnurl will default to Reid's
temporary (read-only, daily snapshot) SVN server. Try it out if you like!

llvm-svn: 35621
2007-04-03 08:28:44 +00:00
Reid Spencer
5b8b959d29 For PR1297:
Implement code generation for overloaded intrinsic functions. The basic
difference is that "actual" argument types must be provided when
constructing intrinsic names and types. Also, for recognition, only the
prefix is examined. If it matches, the suffix is assumed to match. The
suffix is checked by the Verifier, however.

llvm-svn: 35539
2007-04-01 07:20:02 +00:00
Bill Wendling
d764cbdfbb Add better support for keywords.
llvm-svn: 35386
2007-03-27 20:23:56 +00:00
Bill Wendling
a42484728c Add support for the v1i64 type. This makes better code for this:
#include <mmintrin.h>

extern __m64 C;

void baz(__v2si *A, __v2si *B)
{
  *A = C;
  _mm_empty();
}

We get this:

_baz:
        call "L1$pb"
"L1$pb":
        popl %eax
        movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
        movq (%eax), %mm0
        movl 4(%esp), %eax
        movq %mm0, (%eax)
        emms
        ret

GCC gives us this:

_baz:
        pushl   %ebx
        call    L3
"L00000000001$pb":
L3:
        popl    %ebx
        subl    $8, %esp
        movl    L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
        movl    (%eax), %edx
        movl    4(%eax), %ecx
        movl    16(%esp), %eax
        movl    %edx, (%eax)
        movl    %ecx, 4(%eax)
        emms
        addl    $8, %esp
        popl    %ebx
        ret

llvm-svn: 35351
2007-03-26 07:53:08 +00:00