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
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
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
Evan Cheng
a54c20ca4e
Recognize target instruction flag 'isReMaterializable'.
...
llvm-svn: 35159
2007-03-19 06:20:37 +00:00
Anton Korobeynikov
85d6c1ebad
Refactoring of formal parameter flags. Enable properly use of
...
zext/sext/aext stuff.
llvm-svn: 35008
2007-03-07 16:25:09 +00:00
Anton Korobeynikov
6da6c8c48b
Use new SDIselParamAttr enumeration. This removes "magick" constants
...
from formal attributes' flags processing.
llvm-svn: 34963
2007-03-06 08:12:33 +00:00
Chris Lattner
b7edd45f41
rename some CCActions
...
llvm-svn: 34724
2007-02-28 05:29:06 +00:00
Chris Lattner
2b616c0c0a
implement CCPromoteToType
...
llvm-svn: 34720
2007-02-28 04:43:48 +00:00
Chris Lattner
35b160f990
reapply
...
llvm-svn: 34697
2007-02-27 22:08:27 +00:00
Chris Lattner
33bdd3ed53
*** empty log message ***
...
llvm-svn: 34696
2007-02-27 22:05:51 +00:00
Evan Cheng
06b5bb9888
Backing out
...
CodeGenTarget.cpp updated: 1.82 -> 1.83
Record.cpp updated: 1.55 -> 1.56
Record.h updated: 1.59 -> 1.60
TableGen.cpp updated: 1.47 -> 1.48
It's missing CallingConvEmitter.h
llvm-svn: 34693
2007-02-27 21:44:08 +00:00
Chris Lattner
5e2b19c767
initial support for calling convention generation, still unfinished.
...
llvm-svn: 34682
2007-02-27 20:43:37 +00:00
Chris Lattner
d01ebce896
emit an enum value for the # of target registers.
...
llvm-svn: 34624
2007-02-26 03:34:38 +00:00
Chris Lattner
ddb46d765a
the lengths of the strings are known, just use memcmp
...
llvm-svn: 34321
2007-02-15 19:26:16 +00:00
Chris Lattner
5d0b16f797
Implement Function::getIntrinsicID without it needing to call Value::getName,
...
which allocates a string. This speeds up instcombine on 447.dealII by 5%.
llvm-svn: 34318
2007-02-15 19:17:16 +00:00
Reid Spencer
e7ff3305d6
For PR1195:
...
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300
2007-02-15 03:39:18 +00:00
Reid Spencer
55e4e98a2a
For PR1195:
...
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
2007-02-15 02:26:10 +00:00
Jim Laskey
c27aed3dc0
Automatically generating intrinsic declarations from Dan Gohman. Modified
...
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.
llvm-svn: 34008
2007-02-07 20:38:26 +00:00
Reid Spencer
9f642b1776
Set the new NO_INSTALL flag for build-only tools.
...
llvm-svn: 33967
2007-02-06 18:51:28 +00:00
Jim Laskey
52c07ebe15
Error check and eliminate unnecessary value.
...
llvm-svn: 33966
2007-02-06 18:30:58 +00:00
Jim Laskey
4fd5f28165
Regenerate.
...
llvm-svn: 33965
2007-02-06 18:20:07 +00:00
Jim Laskey
595ef8f868
Deemed too cute to live.
...
llvm-svn: 33964
2007-02-06 18:19:44 +00:00
Jim Laskey
bc1fb68dc6
Regenerate.
...
llvm-svn: 33963
2007-02-06 18:03:31 +00:00
Jim Laskey
7d5ddeb668
Support var arg intrinsics.
...
llvm-svn: 33962
2007-02-06 18:02:54 +00:00
Jim Laskey
9d10e4e1fe
Make the constant honest.
...
llvm-svn: 33557
2007-01-26 23:00:54 +00:00
Jim Laskey
1bab68f592
Files missing from LABEL check in.
...
llvm-svn: 33539
2007-01-26 17:29:20 +00:00
Chris Lattner
135e17b756
Make tblgen error more useful. Patch by B. Scott Michel
...
llvm-svn: 33295
2007-01-17 07:45:12 +00:00
Reid Spencer
373d2bccea
For PR1064:
...
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.
llvm-svn: 33113
2007-01-12 07:05:14 +00:00
Reid Spencer
0e73246942
For PR950:
...
Convert signed integer types to signless.
llvm-svn: 32786
2006-12-31 05:50:28 +00:00
Jim Laskey
023e836c5b
Ignore entries with blank names.
...
llvm-svn: 32491
2006-12-12 20:55:58 +00:00
Jim Laskey
b039172d58
Rollback changes to take a different tack.
...
llvm-svn: 32488
2006-12-12 19:26:50 +00:00
Jim Laskey
8a5cea99ed
Honor the command line specification for machine type.
...
llvm-svn: 32483
2006-12-12 16:07:33 +00:00
Bill Wendling
f13d78d3b8
What should be the last unnecessary <iostream>s in the library.
...
llvm-svn: 32333
2006-12-07 22:21:48 +00:00
Evan Cheng
7eb095f346
Match TargetInstrInfo changes.
...
llvm-svn: 32107
2006-12-01 22:57:41 +00:00
Chris Lattner
670eb9da78
Fix PR1001, patch by Nikhil Patil!
...
llvm-svn: 31880
2006-11-20 18:54:33 +00:00
Evan Cheng
e1ca976ce4
Add opcode to TargetInstrDescriptor.
...
llvm-svn: 31804
2006-11-17 01:46:27 +00:00
Chris Lattner
4a2af4e374
Remove the isTwoAddress property from the CodeGenInstruction class. It should
...
not be used for anything other than backwards compat constraint handling.
Add support for a new DisableEncoding property which contains a list of
registers that should not be encoded by the generated code emitter. Convert
the codeemitter generator to use this, fixing some PPC JIT regressions.
llvm-svn: 31769
2006-11-15 23:23:02 +00:00
Chris Lattner
efcd65f335
ADd support for adding constraints to suboperands
...
llvm-svn: 31748
2006-11-15 02:38:17 +00:00
Chris Lattner
1c86ab0ffe
restore some 'magic' code that I removed: it is needed. Add comments explaining
...
why.
llvm-svn: 31743
2006-11-14 22:17:10 +00:00
Chris Lattner
927a143285
minimal hack to get patterns whose result type is iPTR to be selected.
...
llvm-svn: 31742
2006-11-14 21:50:27 +00:00
Chris Lattner
1cbfe99b60
remove some dead code
...
llvm-svn: 31740
2006-11-14 21:41:35 +00:00
Chris Lattner
7e5cbf9ee0
Add support for nodes that return iPTR.
...
llvm-svn: 31739
2006-11-14 21:32:01 +00:00