History log of /llvm-project-15.0.7/llvm/utils/TableGen/CodeGenTarget.cpp (Results 276 – 300 of 376)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 687567bc 13-Dec-2007 Evan Cheng <[email protected]>

Oops. Forgot these.

llvm-svn: 44969


# 933b5b7e 12-Nov-2007 Owen Anderson <[email protected]>

Add a flag for indirect branch instructions.

Target maintainers: please check that the instructions for your target are correctly marked.

llvm-svn: 44012


# 25a00a63 28-Sep-2007 Dale Johannesen <[email protected]>

Add sqrt and powi intrinsics for long double.

llvm-svn: 42423


Revision tags: llvmorg-2.1.0
# f73fb626 19-Sep-2007 Evan Cheng <[email protected]>

Add CopyCost to TargetRegisterClass. This specifies the cost of copying a value
between two registers in the specific class.

llvm-svn: 42123


# febf946e 16-Aug-2007 Dan Gohman <[email protected]>

Add MVT::fAny for overloading intrinsics on floating-point types.

llvm-svn: 41128


# 7132e00d 04-Aug-2007 Chandler Carruth <[email protected]>

This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It

This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.

This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.

llvm-svn: 40807

show more ...


# cde0ee52 26-Jul-2007 Christopher Lamb <[email protected]>

Add target independent MachineInstr's to represent subreg insert/extract in MBB's. PR1350

llvm-svn: 40518


# c9ea2945 26-Jul-2007 Christopher Lamb <[email protected]>

Teach TableGen about the new vector types.

llvm-svn: 40513


# 869852b0 20-Jul-2007 Evan Cheng <[email protected]>

No need for noResults anymore.

llvm-svn: 40075


# 94b5a80b 19-Jul-2007 Evan Cheng <[email protected]>

Change instruction description to split OperandList into OutOperandList and
InOperandList. This gives one piece of important information: # of results
produced by an instruction.
An example of the ch

Change instruction description to split OperandList into OutOperandList and
InOperandList. This gives one piece of important information: # of results
produced by an instruction.
An example of the change:
def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
=>
def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;

llvm-svn: 40033

show more ...


# 10835d9c 13-Jul-2007 Dan Gohman <[email protected]>

Eliminate an unused parameter.

llvm-svn: 39828


# 6e3c705d 10-Jul-2007 Evan Cheng <[email protected]>

Try committing again. Add OptionalDefOperand. Remove clobbersPred.

llvm-svn: 38498


# 9835db56 06-Jul-2007 Evan Cheng <[email protected]>

ImmutablePredicateOperand is no more.

llvm-svn: 37963


# e32e7fb4 05-Jul-2007 Evan Cheng <[email protected]>

Instructions with ImmutablePredicateOperand aren't really predicable since their predicates are fixed at isel time.

llvm-svn: 37899


# e8c1e428 26-Jun-2007 Dan Gohman <[email protected]>

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 th

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

show more ...


# 9e820649 19-Jun-2007 Dan Gohman <[email protected]>

Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad
with a general target hook to identify rematerializable instructions. Some
instructions are only rematerializable with speci

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

show more ...


# a7ca6240 19-Jun-2007 Evan Cheng <[email protected]>

Replace TargetInstrInfo::CanBeDuplicated() with a M_NOT_DUPLICABLE bit.

llvm-svn: 37643


# f274efef 13-Jun-2007 Christopher Lamb <[email protected]>

Add support to tablegen for specifying subregister classes on a per register class basis.

llvm-svn: 37572


# 452a818c 06-Jun-2007 Evan Cheng <[email protected]>

Add clobbersPred - instruction that clobbers condition code / register which are used to predicate instructions.

llvm-svn: 37465


# a23ef8a8 04-Jun-2007 Dan Gohman <[email protected]>

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


Revision tags: llvmorg-2.0.0
# b99726d7 16-May-2007 Evan Cheng <[email protected]>

Rename M_PREDICATED to M_PREDICABLE; opcode can be specified isPredicable without having a PredicateOperand.

llvm-svn: 37116


# e67d0c22 01-Apr-2007 Reid Spencer <[email protected]>

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

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

show more ...


# 98d2104c 26-Mar-2007 Bill Wendling <[email protected]>

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

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

show more ...


# 9d7d1308 19-Mar-2007 Evan Cheng <[email protected]>

Recognize target instruction flag 'isReMaterializable'.

llvm-svn: 35159


# cbebe460 27-Feb-2007 Chris Lattner <[email protected]>

reapply

llvm-svn: 34697


1...<<111213141516