History log of /llvm-project-15.0.7/llvm/utils/TableGen/CodeGenTarget.cpp (Results 201 – 225 of 376)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 77d369c8 13-Dec-2010 Chris Lattner <[email protected]>

eliminate the Records global variable, patch by Garrison Venn!

llvm-svn: 121659


# 77d3ead2 02-Nov-2010 Chris Lattner <[email protected]>

a bunch of random cleanup, move a helper to CGT where it belongs.

llvm-svn: 118031


# a3977160 01-Nov-2010 Chris Lattner <[email protected]>

eliminate the old InstFormatName which is always "AsmString",
simplify CodeGenInstruction. No functionality change.

llvm-svn: 117891


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3
# 0e023ea0 21-Sep-2010 Chris Lattner <[email protected]>

fix a long standing wart: all the ComplexPattern's were being
passed the root of the match, even though only a few patterns
actually needed this (one in X86, several in ARM [which should
be refactore

fix a long standing wart: all the ComplexPattern's were being
passed the root of the match, even though only a few patterns
actually needed this (one in X86, several in ARM [which should
be refactored anyway], and some in CellSPU that I don't feel
like detangling). Instead of requiring all ComplexPatterns to
take the dead root, have targets opt into getting the root by
putting SDNPWantRoot on the ComplexPattern.

llvm-svn: 114471

show more ...


Revision tags: llvmorg-2.8.0-rc2
# 35380211 07-Sep-2010 Bill Wendling <[email protected]>

Add an MVT::x86mmx type. It will take the place of all current MMX vector types.

llvm-svn: 113261


# 02b701f5 07-Sep-2010 Bill Wendling <[email protected]>

Fix whitespace, because I'm OCD.

llvm-svn: 113250


Revision tags: llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# ddb2d65c 05-Aug-2010 Dan Gohman <[email protected]>

Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem
to IntrReadWriteArgMem, as it's for reading as well as writing.

llvm-svn: 110395


# 499f797c 16-Jul-2010 Bill Wendling <[email protected]>

Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and
thus is a much more meaningful name.

llvm-svn: 108563


# 676a15bd 02-Jul-2010 Jakob Stoklund Olesen <[email protected]>

Add a new target independent COPY instruction and code to lower it.

The COPY instruction is intended to replace the target specific copy
instructions for virtual registers as well as the EXTRACT_SUB

Add a new target independent COPY instruction and code to lower it.

The COPY instruction is intended to replace the target specific copy
instructions for virtual registers as well as the EXTRACT_SUBREG and
INSERT_SUBREG instructions in MachineFunctions. It won't we used in a selection
DAG.

COPY is lowered to native register copies by LowerSubregs.

llvm-svn: 107529

show more ...


# 3b1657b7 02-Jul-2010 Jakob Stoklund Olesen <[email protected]>

Clean up TargetOpcodes.h a bit, and limit the number of places where the full
list of predefined instructions appear. Add some consistency checks.

Ideally, TargetOpcodes.h should be produced by Tabl

Clean up TargetOpcodes.h a bit, and limit the number of places where the full
list of predefined instructions appear. Add some consistency checks.

Ideally, TargetOpcodes.h should be produced by TableGen from Target.td, but it
is hardly worth the effort.

llvm-svn: 107520

show more ...


# d1d7ed63 26-May-2010 Jakob Stoklund Olesen <[email protected]>

Add StringRef::compare_numeric and use it to sort TableGen register records.

This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...

llvm-svn: 104

Add StringRef::compare_numeric and use it to sort TableGen register records.

This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...

llvm-svn: 104745

show more ...


# edab2424 24-May-2010 Jakob Stoklund Olesen <[email protected]>

Replace the tablegen RegisterClass field SubRegClassList with an alist-like data
structure that represents a mapping without any dependencies on SubRegIndex
numbering.

This brings us closer to being

Replace the tablegen RegisterClass field SubRegClassList with an alist-like data
structure that represents a mapping without any dependencies on SubRegIndex
numbering.

This brings us closer to being able to remove the explicit SubRegIndex
numbering, and it is now possible to specify any mapping without inventing
*_INVALID register classes.

llvm-svn: 104563

show more ...


# 670a4104 13-May-2010 Evan Cheng <[email protected]>

Adding a v8i64 512-bit vector type. This will be used to model ARM NEON intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers.

llv

Adding a v8i64 512-bit vector type. This will be used to model ARM NEON intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers.

llvm-svn: 103746

show more ...


# 66561537 01-May-2010 Evan Cheng <[email protected]>

Add a pseudo instruction REG_SEQUENCE that takes a list of registers and
sub-register indices and outputs a single super register which is formed from
a consecutive sequence of registers.

This is us

Add a pseudo instruction REG_SEQUENCE that takes a list of registers and
sub-register indices and outputs a single super register which is formed from
a consecutive sequence of registers.

This is used as register allocation / coalescing aid and it is useful to
represent instructions that output register pairs / quads. For example,
v1024, v1025 = vload <address>
where v1024 and v1025 forms a register pair.

This really should be modelled as
v1024<3>, v1025<4> = vload <address>
but it would violate SSA property before register allocation is done.

Currently we use insert_subreg to form the super register:
v1026 = implicit_def
v1027 - insert_subreg v1026, v1024, 3
v1028 = insert_subreg v1027, v1025, 4
...
= use v1024
= use v1028

But this adds pseudo live interval overlap between v1024 and v1025.

We can now modeled it as
v1024, v1025 = vload <address>
v1026 = REG_SEQUENCE v1024, 3, v1025, 4
...
= use v1024
= use v1026

After coalescing, it will be
v1026<3>, v1025<4> = vload <address>
...
= use v1026<3>
= use v1026

llvm-svn: 102815

show more ...


Revision tags: llvmorg-2.7.0
# 4a5f7be0 27-Mar-2010 Chris Lattner <[email protected]>

fix CodeGenTarget::getRegisterVTs to not return the
same vt multiple times for a register. For example,
ECX is in 5 different i32 reg classes, just return
1 i32 instead of 5.

llvm-svn: 99727


# b424faa0 23-Mar-2010 Chris Lattner <[email protected]>

reject void in intrinsic type lists.

llvm-svn: 99347


# 2109cb46 22-Mar-2010 Chris Lattner <[email protected]>

Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy. Now with a fix
for the verifier.

llvm-svn: 99206


# 3e2bb702 19-Mar-2010 Eric Christopher <[email protected]>

Revert r99009 temporarily it seems to be breaking the bots.

llvm-svn: 99011


# 933b2cf9 19-Mar-2010 Chris Lattner <[email protected]>

Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy.

llvm-svn: 99009


# 83aeaab4 19-Mar-2010 Chris Lattner <[email protected]>

add a new SDNPVariadic SDNP node flag, and use it in
dag isel gen instead of instruction properties. This
allows the oh-so-useful behavior of matching a variadic
non-root node.

llvm-svn: 98934


# 1802b17b 19-Mar-2010 Chris Lattner <[email protected]>

Finally change the instruction looking map to be a densemap from
record* -> instrinfo instead of std::string -> instrinfo.

This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug
build (20%

Finally change the instruction looking map to be a densemap from
record* -> instrinfo instead of std::string -> instrinfo.

This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug
build (20%).

llvm-svn: 98916

show more ...


# 4763dbea 19-Mar-2010 Chris Lattner <[email protected]>

make inst_begin/inst_end iterate over InstructionsByEnumValue.
Use CodeGenTarget::getInstNamespace in one place and fix it.

llvm-svn: 98915


# 2d822ab1 19-Mar-2010 Chris Lattner <[email protected]>

revert 98912

llvm-svn: 98914


# 45e2fc5a 19-Mar-2010 Chris Lattner <[email protected]>

make inst_begin/inst_end iterate over InstructionsByEnumValue.

llvm-svn: 98912


# 918be520 19-Mar-2010 Chris Lattner <[email protected]>

change Target.getInstructionsByEnumValue to return a reference
to a vector that CGT stores instead of synthesizing it on every
call.

llvm-svn: 98910


12345678910>>...16