| #
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
|