de2d8694e25a814696358e95141f4b1aa4d8847e |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r275480 Bug: http://b/31320715 This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
1799684671805069cecdc2765b00b751fdbce19b |
|
28-Oct-2013 |
Ahmed Bougacha <ahmed.bougacha@gmail.com> |
TableGen: remove unused variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
2b43ffff322899dec2f49cb3cc13037b60679f72 |
|
28-Oct-2013 |
Ahmed Bougacha <ahmed.bougacha@gmail.com> |
TableGen: Refactor DAG patterns to enable parsing one pattern at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
49909415ca9c674a459718895e8e99053e11f143 |
|
25-Sep-2013 |
Craig Topper <craig.topper@gmail.com> |
Replace EVT with MVT in CodeGenDAGAPatterns.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
fb2d8e137e8f19bd638aff07d507e26849e31dbc |
|
24-Sep-2013 |
Craig Topper <craig.topper@gmail.com> |
Fix formatting to match coding standards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6227d5c690504c7ada5780c00a635b282c46e275 |
|
04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
8e3cb3ee0c6dd582f4ee78135cef2f33f6893395 |
|
24-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow types to be omitted in output patterns. This syntax is now preferred: def : Pat<(subc i32:$b, i32:$c), (SUBCCrr $b, $c)>; There is no reason to repeat the types in the output pattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
19209960b68b194d944a28f4b0f5bb8fd6563145 |
|
24-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow direct value types to be used in instruction 'set' patterns. This makes it possible to define instruction patterns like this: def LDri : F3_2<3, 0b000000, (outs IntRegs:$dst), (ins MEMri:$addr), "ld [$addr], $dst", [(set i32:$dst, (load ADDRri:$addr))]>; ~~~ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f0a804df493e28e75cfc4ca930c53199b8d1e985 |
|
23-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow direct value types in pattern definitions. Just like register classes, value types can be used in two ways in patterns: (sext_inreg i32:$src, i16) In a named leaf node like i32:$src, the value type simply provides the type of the node directly. This simplifies type inference a lot compared to the current practice of specifiying types indirectly with register classes. As an unnamed leaf node, like i16 above, the value type represents itself as an MVT::Other immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7a42fb3b6e729e2446f9d53b547976e5084a59d8 |
|
23-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Make all unnamed RegisterClass TreePatternNodes typed MVT::i32. A register class can appear as a leaf TreePatternNode with and without a name: (COPY_TO_REGCLASS GPR:$src, F8RC) In a named leaf node like GPR:$src, the register class provides type information for the named variable represented by the node. The TypeSet for such a node is the set of value types that the register class can represent. In an unnamed leaf node like F8RC above, the register class represents itself as a kind of immediate. Such a node has the type MVT::i32, we'll never create a virtual register representing it. This change makes it possible to remove the special handling of COPY_TO_REGCLASS in CodeGenDAGPatterns.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ec8d1a5b72b1cb2d230ba52b25a017231393b182 |
|
19-Mar-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
Extend TableGen instruction selection matcher to improve handling of complex instruction operands (e.g. address modes). Currently, if a Pat pattern creates an instruction that has a complex operand (i.e. one that consists of multiple sub-operands at the MI level), this operand must match a ComplexPattern DAG pattern with the correct number of output operands. This commit extends TableGen to alternatively allow match a complex operands against multiple separate operands at the DAG level. This allows using Pat patterns to match pre-increment nodes like pre_store (which must have separate operands at the DAG level) onto an instruction pattern that uses a multi-operand memory operand, like the following example on PowerPC (will be committed as a follow-on patch): def STWU : DForm_1<37, (outs ptr_rc:$ea_res), (ins GPRC:$rS, memri:$dst), "stwu $rS, $dst", LdStStoreUpd, []>, RegConstraint<"$dst.reg = $ea_res">, NoEncode<"$ea_res">; def : Pat<(pre_store GPRC:$rS, ptr_rc:$ptrreg, iaddroff:$ptroff), (STWU GPRC:$rS, iaddroff:$ptroff, ptr_rc:$ptrreg)>; Here, the pair of "ptroff" and "ptrreg" operands is matched onto the complex operand "dst" of class "memri" in the "STWU" instruction. Approved by Jakob Stoklund Olesen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4c16916883c5012e14a84b186cbfee33bfb14027 |
|
18-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Extract a method. This computes the type of an instruction operand or result based on the records in the instruction's ins and outs lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
26369a930c523b75fe8f4ba18456ff86f68d5612 |
|
17-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use ArrayRef<MVT::SimpleValueType> when possible. Not passing vector references around makes it possible to use SmallVector in most places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4ffd89fa4d2788611187d1a534d2ed46adf1702c |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the #include lines for utils/... I've tried to find main moudle headers where possible, but the TableGen stuff may warrant someone else looking at it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
50a6102397ca0b2346befeac09299f1fa6b3ca3e |
|
25-Oct-2012 |
Kaelyn Uhrain <rikka@google.com> |
Don't return false when the function's return type is a pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
61131ab15fd593a2e295d79fe2714e7bc21f2ec8 |
|
25-Oct-2012 |
Joerg Sonnenberger <joerg@bec.de> |
Remove exception handling usage from tblgen. Most places can use PrintFatalError as the unwinding mechanism was not used for anything other than printing the error. The single exception was CodeGenDAGPatterns.cpp, where intermediate errors during type resolution were ignored to simplify incremental platform development. This use is replaced by an error flag in TreePattern and bailout earlier in various places if it is set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
3f7b7f8ce0b050fc6a0100839d9c5a84198b2aed |
|
10-Oct-2012 |
Sean Silva <silvas@purdue.edu> |
tblgen: Use semantically correct RTTI functions. Also, some minor cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6cfc806a6b82b60a3e923b6b89f2b4da62cdb50b |
|
10-Oct-2012 |
Sean Silva <silvas@purdue.edu> |
tblgen: Mechanically move dynamic_cast<> to dyn_cast<>. Some of these dyn_cast<>'s would be better phrased as isa<> or cast<>. That will happen in a future patch. There are also two dyn_cast_or_null<>'s slipped in instead of dyn_cast<>'s, since they were causing crashes with just dyn_cast<>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
eb79b545fc347142eba44a7ffd29d426da3281ec |
|
20-Sep-2012 |
Owen Anderson <resistor@mac.com> |
Soften the pattern-can-never-match error in TableGen into a warning. This pattern can be very useful in cases where you want to define a multiclass that covers both commutative and non-commutative operators (say, add and sub). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
90fee07298bec2e5160a599db850b9553d02377b |
|
19-Sep-2012 |
Sean Silva <silvas@purdue.edu> |
Refactor Record* by-ID comparator to Record.h This is a generally useful utility; there's no reason to have it hidden in CodeGenDAGPatterns.cpp. Also, rename it to fit the other comparators in Record.h Review by Jakob. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
83c0eefa3b4698edd007a4cb24d550fd42566063 |
|
12-Sep-2012 |
Owen Anderson <resistor@mac.com> |
Improve tblgen code cleanliness: create an unknown_class, from which the unknown def inherits. Make tblgen check for that class, rather than checking for the def itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6d3d7656539188b496089a3313ed4d13759adba3 |
|
06-Sep-2012 |
Tom Stellard <thomas.stellard@amd.com> |
Tablegen: Add OperandWithDefaultOps Operand type This Operand type takes a default argument, and is initialized to this value if it does not appear in a patter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
325907d0860f8316edcc3bb00bf7b8b04497c177 |
|
28-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Check all patterns for missing instruction flags. Both single-instruction and multi-instruction patterns can be checked for missing mayLoad / mayStore, and hasSideEffects flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
1144af3c9b4da48cd581156e05b24261c8de366a |
|
25-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix integer undefined behavior due to signed left shift overflow in LLVM. Reviewed offline by chandlerc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4ad27eda29413d45a98912877ab2706efbc1e86e |
|
25-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Infer instruction properties from single-instruction patterns. Previously, instructions without a primary patterns wouldn't get their properties inferred. Now, we use all single-instruction patterns for inference, including 'def : Pat<>' instances. This causes a lot of instruction flags to change. - Many instructions no longer have the UnmodeledSideEffects flag because their flags are now inferred from a pattern. - Instructions with intrinsics will get a mayStore flag if they already have UnmodeledSideEffects and a mayLoad flag if they already have mayStore. This is because intrinsics properties are linear. - Instructions with atomic_load patterns get a mayStore flag because atomic loads can't be reordered. The correct workaround is to create pseudo-instructions instead of using normal loads. PR13693. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
aaaecfce70c0aaed9225359fc56c67b59dca768e |
|
24-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Stop inferring isVariadic from instruction patterns. Instructions are now only marked as variadic if they use variable_ops in their ins list. A variadic SDNode is typically used for call nodes that have the call arguments as operands. A variadic MachineInstr can actually encode a variable number of operands, for example ARM's stm/ldm instructions. A call instruction does not have to be variadic. The call argument registers are added as implicit operands. This change remove the MCID::Variadic flags from most call and return instructions, allowing us to better verify their operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
91f8dc9baeb35d5812a797d733e689120e041fef |
|
24-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Verify explicit instruction properties when they can be inferred. It is now allowed to explicitly set hasSideEffects, mayStore, and mayLoad on instructions with patterns. Verify that the patterns are consistent with the explicit flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
912519a72eb9ed2d8c957ae8b08d95d9e080dac8 |
|
24-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Heed guessInstructionProperties, and stop warning on redundant flags. Emit TableGen errors if guessInstructionProperties is 0 and instruction properties can't be inferred from patterns. Allow explicit instruction properties even when they can be inferred. This patch doesn't change the TableGen output. Redundant properties are not yet verified because the tree has errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d3e31218ef7ccf96b0bc7e06e2ebd279325c97fe |
|
17-Jul-2012 |
Jim Grosbach <grosbach@apple.com> |
TableGen: Pattern<> references to null_frag are a nop. A standalone pattern defined in a multiclass expansion should handle null_frag references just like patterns on instructions. Follow-up to r160333. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ac915b48d8ba73a5d734be5c4a0e1d25cea93252 |
|
17-Jul-2012 |
Jim Grosbach <grosbach@apple.com> |
TableGen: Allow conditional instruction pattern in multiclass. Define a 'null_frag' SDPatternOperator node, which if referenced in an instruction Pattern, results in the pattern being collapsed to be as-if '[]' had been specified instead. This allows supporting a multiclass definition where some instaniations have ISel patterns associated and others do not. For example, multiclass myMulti<RegisterClass rc, SDPatternOperator OpNode = null_frag> { def _x : myI<(outs rc:), (ins rc:), []>; def _r : myI<(outs rc:), (ins rc:), [(set rc:, (OpNode rc:))]>; } defm foo : myMulti<GRa, not>; defm bar : myMulti<GRb>; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
3cbcffc4e5990209ce80a54e615f55245fe3b824 |
|
18-Apr-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
tblgen: remove duplicated newlines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
37c53ff6a715b2f9efcfa5253b2774b31301b6f8 |
|
18-Apr-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. No need for a Twine here, as it's just constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7be43977b4a12b2e2361a3d0cf087e637394896b |
|
18-Apr-2012 |
Jim Grosbach <grosbach@apple.com> |
Clean up warning text. Remove extraneous prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
9b29ea4eb39b5f03ef2405c6355a9c627771c5dd |
|
18-Apr-2012 |
Jim Grosbach <grosbach@apple.com> |
TableGen use PrintWarning rather than fprintf(stderr,...) for warnings. That way we get source line number information from the diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
901b85888c2de6bf982c47ab69b7e83908b6a216 |
|
23-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Include cstdio in a few place that depended on getting it transitively through StringExtras.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
655b8de7b2ab773a977e0c524307e71354d8af29 |
|
05-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
58bd1510a4fea29b1ea57d6a6c4038eeea0264a2 |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Provide better messages in llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
fdebc38523b397743973ff6a2d2e93b112dd96e5 |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
8dd6f0c8353f80de6526810899f271d539f6929c |
|
13-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Delete CodeInit and CodeRecTy from TableGen. The code type was always identical to a string anyway. Now it is simply a synonym. The code literal syntax [{...}] is still valid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
2bd335470f8939782f3df7f6180282d3825d4f09 |
|
10-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unnecessary default cases in switches that cover all enum values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ccbe603869681aa71b4140e3bf4b4459caf60622 |
|
14-Oct-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Ban rematerializable instructions with side effects. TableGen infers unmodeled side effects on instructions without a pattern. Fix some instruction definitions where that was overlooked. Also raise an error if a rematerializable instruction has unmodeled side effects. That doen't make any sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7c788888872233748da10a8177a9a1eb176c1bc8 |
|
01-Oct-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move TableGen's parser and entry point into a library This is the first step towards splitting LLVM and Clang's tblgen executables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
05bce0beee87512e52428d4b80f5a8e79a949576 |
|
30-Jul-2011 |
David Greene <greened@obbligato.org> |
Unconstify Inits Remove const qualifiers from Init references, per Chris' request. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
dcd35c797d458d8b1dbc36cf7f1504166d5b2f16 |
|
29-Jul-2011 |
David Greene <greened@obbligato.org> |
[AVX] Create Inits Via Factory Method Replace uses of new *Init with *Init::get. This hides the allocation implementation so that we can unique Inits in various ways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f37dd02f7743ebd2424480361f5a7db510495c4f |
|
29-Jul-2011 |
David Greene <greened@obbligato.org> |
[AVX] Constify Inits Make references to Inits const everywhere. This is the final step before making them unique. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
77f8274c7d4bfb5e2a449eb49dc78dcae37e5457 |
|
18-Jul-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Intern all RecTy subclass instances to avoid duplicates. Make all of the RecTy constructors private, and use get() factory methods instead. Return singleton instances when it makes sense. ListTy instance pointers are stored in the element RecTy instance. BitsRecTy instance pointers, one per length, are stored in a static vector. Also unique DefInit instances. A Record has a unique DefInit which has a unique RecordRecTy instance. This saves some 200k-300k RecTy allocations when parsing ARM.td. It reduces TableGen's heap usage by almost 50%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d568b3f55294917d1cc701da14a8a7daeb6563e6 |
|
12-Jul-2011 |
Eric Christopher <echristo@apple.com> |
Revert r134921, 134917, 134908 and 134907. They're causing failures in multiple buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
5e3cb47beada349cdde5cb023127491f46b88a7f |
|
11-Jul-2011 |
David Greene <greened@obbligato.org> |
Use get(0 Instead of Create() Respond to some feedback asking for a name change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d4a9066c93da9a5aab47ca228d82e796fdec70c0 |
|
11-Jul-2011 |
David Greene <greened@obbligato.org> |
[AVX] Make Inits Foldable Manage Inits in a FoldingSet. This provides several benefits: - Memory for Inits is properly managed - Duplicate Inits are folded into Flyweights, saving memory - It enforces const-correctness, protecting against certain classes of bugs The above benefits allow Inits to be used in more contexts, which in turn provides more dynamism to TableGen. This enhanced capability will be used by the AVX code generator to a fold common patterns together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
66c9ee7e6d7072a5ecc0131b9dd78a20e72cb597 |
|
07-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
bea6f615eefae279e53bbb63a31d2c3c67274c45 |
|
27-Jun-2011 |
Owen Anderson <resistor@mac.com> |
Add support for alternative register names, useful for instructions whose operands are logically equivalent to existing registers, but happen to be printed specially. For example, an instruciton that prints d0[0] instead of s0. Patch by Jim Grosbach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0b6a44afb92fed0365b6709c1f46b0c5e49e1a72 |
|
22-Jun-2011 |
Jim Grosbach <grosbach@apple.com> |
Consolidate some TableGen diagnostic helper functions. TableGen had diagnostic printers sprinkled about in a few places. Pull them together into a single location in Error.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4447d6506cdae78037226ef52c0824a42cf6baa6 |
|
18-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
since the VT is fixed for a ImmLeaf, there is no reason to expose it to the matching code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7ed1391ff66012e4963081cfb20b6166e8784f50 |
|
18-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
now that predicates have a decent abstraction layer on them, introduce a new kind of predicate: one that is specific to imm nodes. The predicate function specified here just checks an int64_t directly instead of messing around with SDNode's. The virtue of this is that it means that fastisel and other things can reason about these predicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
543790673c747ab2793fc657e239ce5f78419dc0 |
|
17-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Rework our internal representation of node predicates to expose more structure and fix some fixmes. We now have a TreePredicateFn class that handles all of the decoding of these things. This is an internal cleanup that has no impact on the code generated by tblgen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0f040a258ff6a2372fc232212b5e4189e8e7185d |
|
15-Mar-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Add "Bitcast" target instruction property for instructions which perform nothing more than a bitcast. - Teach tablegen to automatically infer "Bitcast" property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c83e20375746c2910331ed29f5d976d80fe728e4 |
|
04-Feb-2011 |
David Greene <greened@obbligato.org> |
Silence uninitialized value warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
9d7f0111100d863f2722deab952711a5496abad4 |
|
01-Feb-2011 |
David Greene <greened@obbligato.org> |
[AVX] Implement EnforceSmallerThan for mixed int/fp type lists. This makes type checking for extract_subvector and insert_subvector more robust and will allow stricter typechecking of more patterns in the future. This change handles int and fp as disjoint sets so that it will enforce integer types to be smaller than the largest integer type and fp types to be smaller than the largest fp type. There is no attempt to check type sizes across the int/fp sets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6032269837c08a94b70b0e36f8e473c293ff5fd4 |
|
24-Jan-2011 |
David Greene <greened@obbligato.org> |
[AVX] Add type checking support for vector/subvector type constraints. This will be used to check patterns referencing a forthcoming INSERT_SUBVECTOR SDNode. INSERT_SUBVECTOR in turn is very useful for matching to VINSERTF128 instructions and complements the already existing EXTRACT_SUBVECTOR SDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
036609bd7d42ed1f57865969e059eb7d1eb6c392 |
|
23-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
Flag -> Glue, the ongoing saga git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
fbadcd0826c2e69ed21c2d535310ba958acb4359 |
|
21-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Tidy up a bit. Trailing whitespace, hard tabs and 80-columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
67db883487fca3472fdde51e931657e22d4d0495 |
|
13-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate the Records global variable, patch by Garrison Venn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
997759ac22dc1de6f324b1c09c0a2a558236c489 |
|
08-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Add source Record* reference to PatternToMatch. Allows better diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c240bb0ede0541426254d0e0dc81d891beda4b22 |
|
01-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
factor the operand list (and related fields/operations) out of CodeGenInstruction into its own helper class. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
bb16824dc3e2ba660e8b79f49046c418aa8e1be7 |
|
08-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
A few 80 column cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6aa526bf76ba74b79ebf4d96d2c1f12d59067530 |
|
08-Oct-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7365c091f92db5e68c98d7faedc6c34e1bbbc898 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem to IntrReadWriteArgMem, as it's for reading as well as writing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
73ea7bf4509663267317ec3911aac00ca35a2f2c |
|
24-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add the SubRegIndex TableGen class. This is the beginning of purely symbolic subregister indices, but we need a bit of jiggling before the explicit numeric indices can be completely removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
acfb70f75061975deda1deb167da8e83249f92ed |
|
20-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
stop computing InstImpInputs, it is dead git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
62bcec82b2762d5cdc84fe39c7d634c784ed6673 |
|
20-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
DAGInstruction::ImpOperands is dead after my recent tblgen work, zap it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
48e86dbe29e331357b0df11075b7974009c65f34 |
|
29-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
print the complexity of the pattern being matched in the comment in the generated table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
2a22cdc716ea652d6c9ebdaae028b5c75ab2793a |
|
28-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
improve type checking of SDNode operand count. This rejects all cases where an incorrect number of operands is provided to an sdnode instead of just a few cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
caa8870fe09f5526e611434b6bb9f7040c7dfa60 |
|
28-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
finally remove the immAllOnesV_bc/immAllZerosV_bc patterns and those derived from them. These are obnoxious because they were written as: PatLeaf<(bitconvert). Not having an argument was foiling adding better type checking for operand count matching up with what was required (in this case, bitconvert always requires an operand!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7a0eb91b4c238542a11ca805af15933cc8290786 |
|
28-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
teach tblgen to allow patterns like (add (i32 (bitconvert (i32 GPR))), 4), transforming it into (add (i32 GPR), 4). This allows us to write type generic multi patterns and have tblgen automatically drop the bitconvert in the case when the types align. This allows us to fold an extra load in the changed testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
b775b1e20bb9adc2a5130f7470f2f525280f1036 |
|
28-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
validate that input sdnodes don't exist in an output pattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c217305f764447eb65e7bf7f9205c14632885969 |
|
28-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate a bunch of code duplication in ParseTreePattern by rotating it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c812261221040ac991f0c9710036a079f208281e |
|
28-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
SDTCisVT<0, isVoid> is not valid, reject it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0d7952ed5ac10b6159d0e8e2449f0f471d117e0f |
|
27-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
9414ae52911f1d62cabd5108e0381b9d17476157 |
|
27-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
hoist some funky logic into CodeGenInstruction from two places in CodeGenDAGPatterns.cpp, and use it in DAGISelMatcherGen.cpp instead of using an incorrect predicate that happened to get lucky on our current targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0be6fe71390c50b211beb70e6c50e5fae060f746 |
|
27-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
continue pushing tblgen's support for nodes with multiple results forward. We can now handle an instruction that produces one implicit def and one result instead of one or the other when not at the root of the pattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
310adf1c6f58921b30fde145fd15cb1798050205 |
|
27-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
remove parallel support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
084df627c82fdf4e1829723edf0a833b5bc31f89 |
|
24-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
add plumbing for handling multiple result nodes in some more places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
cc8783073205dcc5feadaa0a722ab61c6d17fee7 |
|
24-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
implement SDTCisVTSmallerThanOp with EnforceSmallerThan instead of reimplementing it wrong and poorly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
66fb9d26c64b75ad6619608905c4005f0777bf5d |
|
24-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
bring sanity to EnforceVectorEltType git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
640a3f530904a9b08228fab07ea7826af0bcab5e |
|
24-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Cleanup getImplicitType git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
93dc92e412fd06250e46951bffb6040eca9baebd |
|
22-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
32f6a8b8bb9de0180036eaf7f7ac6dc030d85655 |
|
21-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix suggested parentheses warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d7de54068ca6db50f4b54fb150af7b7c62573449 |
|
20-Mar-2010 |
Eric Christopher <echristo@apple.com> |
Revert r99009 temporarily it seems to be breaking the bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
26e763753be5f3422a892f6c268721eae7792eac |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Change intrinsic result type for void to store it as an empty list instead of as a single element list with VoidTy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
2e68a02c264c26abc6ed62d59f18813fa7fdb95d |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
make getOperandNum a static function (since it's just used by ApplyTypeConstraint) and make it handle multiple result nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d7349194650386d97a1d779369cb46f20ba9f252 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
major surgery on tblgen: generalize TreePatternNode to maintain a list of types (one for each result of the node) instead of a single type. There are liberal hacks added to emulate the old behavior in various situations, but they can start disolving now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
774ce29399364823dba62217ebf7bc8701005140 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
make FillWithPossibleTypes take a predicate to filter types so that we don't blow the smallvector as often. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
1e50631675df50a0701ef8b527ced63d0d535a81 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
resolve fixme: we now infer the instruction-level 'isvariadic' bit from the pattern if present, and we use it instead of the bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e8cabf3c2eb835f9189a39c810654d9bd302f7ee |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
5a9b8fb95c9a4c6fd5e06c1e89fa9263d39cd252 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
rewrite EnforceSmallerThan to be less bone headed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
65f35d5703a17bcd25c63907e4813c8e545b847b |
|
19-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
aac5b5b2e5eaf2e5bd62f9b96270e31d46125f4f |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate the last use of EEVT::isUnknown git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f65027842e82027dd6e8020586a299aaa548e355 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
change Target.getInstructionsByEnumValue to return a reference to a vector that CGT stores instead of synthesizing it on every call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
b61e09de6d0cd7241ddc6dee3efef416552eec3b |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
don't go through getInstructions(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f30187a36324fb75042d9ffd20c3fb70aff7763d |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
look up instructions by record, not by name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
928795387fdfac67e094275618a36bdeba51c45a |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
expand tblgen's support for instructions with implicit defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6c6ba364931acb113973ad3e6d69736969c59299 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
infer results of a pattern from implicit defs. This allows you to do something like this: def : Pat<(add ...), (FOOINST)>; When fooinst only has a single implicit def (e.g. to R1). This will be handled as if written as (set R1, (FOOINST ...)) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ef988984d75c1d64bc03ad4743f43f5f36619bcb |
|
18-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
simplify this code, the # of sets in the pattern for an instruction shouldn't change this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
cedef1ccf0d53693b5e62d524e7ba6b2122231c7 |
|
18-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
remove some code that was working around old sparc v9 backend bugs. Add checking that the input/output operand list in spelled right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e002da34efeed0f1622c767b3ca1eeaa791124ed |
|
15-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate some #if 0 code I added in r96905, type inference now enforces that input/output named values have hte same type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
2cacec55f947c716b058a39038889550d7e39b3c |
|
15-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Completely rewrite tblgen's type inference mechanism, changing the primary datastructure from being a "std::vector<unsigned char>" to being a new TypeSet class that actually has (gasp) invariants! This changes more things than I remember, but one major innovation here is that it enforces that named input values agree in type with their output values. This also eliminates code that transparently assumes (in some cases) that SDNodeXForm input/output types are the same, because this is wrong in many case. This also eliminates a bug which caused a lot of ambiguous patterns to go undetected, where a register class would sometimes pick the first possible type, causing an ambiguous pattern to get arbitrary results. With all the recent target changes, this causes no functionality change! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
43e4754817cfdd0e48e3dbe005211f1df4875f1f |
|
08-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Node arguments to type casts can have names too. This code needs to be majorly refactored, but this spot bugfix allows things like: def vmrghw_shuffle : PatFrag<(ops node:$lhs, node:$rhs), (vector_shuffle (v4i32 node:$lhs), node:$rhs), [{ ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
405f1252b9f3937b9c30edf683375cf261967c79 |
|
01-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
resolve a fixme by having the .td file parser reject thigns like (set GPR, somecomplexpattern) if somecomplexpattern doesn't declare what it can match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
117ccb7e518f05e4bf3df058fc402262f897ff0b |
|
01-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Fix PR2590 by making PatternSortingPredicate actually be ordered correctly. Previously it would get in trouble when two patterns were too similar and give them nondet ordering. We force this by using the record ID order as a fallback. The testsuite diff is due to alpha patterns being ordered slightly differently, the change is a semantic noop afaict: < lda $0,-100($16) --- > subq $16,100,$0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
225798143dbec36685f9d1e2fa82f5c4e70b0bf5 |
|
28-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
Generalize my hack to use SDNodeInfo to find out when a node is always guaranteed to have a particular type instead of hacking in ISD::STORE explicitly. This allows us to use implied types for a broad range of nodes, even target specific ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
aaf5486b82f512ada7ca11cec27f96fb06db36d8 |
|
27-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
use DEBUG instead of DebugFlag directly so that this respects -debug-only=something-else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ba1cff4450e22415bfcb960342e6d5a5918e530a |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
add some #if 0'd out code for checking that named values in input/output patterns have the same type. It turns out that this triggers all the time because we don't infer types between these boundaries. Until we do, don't turn this on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
a27234e290a4809c5a60e28e99f2870142ff3a55 |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
Reject patterns that use a name multiple times in the src or result of a pattern and where the uses have different types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4ac7a0ca8fa22ff641e8469d7feca2ac0aea3cef |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
reject patterns that have dead named arguments in the input pattern this is tidier and can find bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
967d54ae04d562e0d375bb1dda4289cc58590cfa |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
reject patterns that mention a name in the destination pattern but not in the input. Previously, this would trigger an abort late in the isel logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
25b6f91c549225ae4fc9855b9c82a46d05dfd4d8 |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
merge some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
53d09bd0099e2ac400ad5ddcb928ad0d524fbe5c |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
more tidying up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6eb3012b454b8dd3588236333a6bc57e9e6128b1 |
|
23-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
reduce indentation by eliminating 'else after return' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
84aa60b522e6ff02214912968eba1c037dd7bba1 |
|
17-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
751d5aa1eadf041f00acf76f3b641549c8be3998 |
|
14-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
constize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
47661320363a8bf0bb1401a8c1893755fb77c8f6 |
|
14-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
clean up a bunch of code, move some random predicates on TreePatternNode to be methods on TreePatternNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
523f6a5848194c135168112751c36884dc704e54 |
|
14-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7529ece7af777b72e8658845a575eab08214d655 |
|
25-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Use the 'MadeChange' variable instead of returning 'false' all of the time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
3a639a07ea14f2e404fb1d3a14005ff468543911 |
|
02-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364. PS: It seems that blackfin usage of copy_to_regclass is completely bogus! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
cdfa01bf0fd4fd9228e8cf32eae9205d067e147a |
|
29-Aug-2009 |
Bob Wilson <bob.wilson@apple.com> |
PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type inferencing. As far as I can tell, these are equivalent to the existing MVT::fAny, iAny and vAny types, and having both of them makes it harder to reason about and modify the type inferencing code. The specific problem in PR4795 occurs when updating a vAny type to be fAny or iAny, or vice versa. Both iAny and fAny include vector types -- they intersect with the set of types represented by vAny. When merging them, choose fAny/iAny to represent the intersection. This is not perfect, since fAny/iAny also include scalar types, but it is good enough for TableGen's type inferencing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
5b9e7ef627aa1e2f49a6ee85e718199799841f7e |
|
23-Aug-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Try to fix MSVC build after r79846. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6f5cc82686d6f25abc3e373b241bc2cb47d87268 |
|
23-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix non-determinism in DAGISel emitter. - This manifested as non-determinism in the .inc output in rare cases (when two distinct patterns ended up being equivalent, which is rather rare). That meant the pattern matching was non-deterministic, which could eventually mean the code generator selected different instructions based on the arch. - It's probably worth making the DAGISel ensure a total ordering (or force the user to), but the simple fix here is to totally order the Record* maps based on a unique ID. - PR4672, PR4711. Yay: -- ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum d1099ff34b21459a5a3e7021c225c080e6017ece - ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum d1099ff34b21459a5a3e7021c225c080e6017ece - -- git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
569f121f4ecc53f8ab505c4ccb6e1e77c78e188d |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove some DOUTs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
36e3e668be0c4914660575d7cea800b0d51a4116 |
|
13-Aug-2009 |
Bob Wilson <bob.wilson@apple.com> |
Add a new "SDTCisVec" SDTypeConstraint. This complements the vAny type. There have been a few times where I've wanted this but ended up leaving the operand type unconstrained. It is easy to add this now and should help catch errors in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
825b72b0571821bf2d378749f69d6c4cfb52d2f9 |
|
11-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Split EVT into MVT and EVT, the former representing _just_ a primitive type, while the latter is capable of representing either a primitive or an extended type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
61fc4cf7aa0b87ceab62082cee8ef5ce3f574ffc |
|
11-Aug-2009 |
Bob Wilson <bob.wilson@apple.com> |
Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic arguments that are vectors of any size and element type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e50ed30282bb5b4a9ed952580523f2dda16215ac |
|
11-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
a938ac6223c5fd315ab745086d843df5e0604e09 |
|
29-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
make ptr_rc derive from a new PointerLikeRegClass tblgen class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
1a55180238dbcf11113f610aea010447e51f595b |
|
03-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Replace std::iostreams with raw_ostream in TableGen. - Sorry, I can't help myself. - No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c0ad80fd9edbbe41461a62d26585bd6263328b90 |
|
26-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix a CodeGenDAGPatterns bug. Check if top level predicates match when it's looking for duplicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
fc4c25530412907f566519dd4d0979a6570222b3 |
|
17-Jun-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Fix grammaro, and bad indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ee1f6b0fc5cec6d8c65acac7485a70d9ab971d7f |
|
09-Jun-2009 |
Bill Wendling <isanbard@gmail.com> |
I'm going to assume that this was meant to be an assignment instead of a computation that isn't used. Please correct this if it's wrong! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ffc0ab6037aa45bc22f57433148e5f586843b3a7 |
|
09-Jun-2009 |
David Greene <greened@obbligato.org> |
Revert 73074 and 73099 because Windows doesn't have POSIX regular expressions. We will add an OpenBSD implementation and re-apply ASAP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0d973999f3a7973e680e12acdf6def9d769911b6 |
|
09-Jun-2009 |
David Greene <greened@obbligato.org> |
Add a !patsubst operator. Use on string types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e1b469170bb3ab259fd488fb95c29efe802cdd6a |
|
08-Jun-2009 |
David Greene <greened@obbligato.org> |
Make IntInits and ListInits typed. This helps deduce types of !if and other operators. For the rare cases where a list type cannot be deduced, provide a []<type> syntax, where <type> is the list element type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
874ae251c317788391f9c3f113957802d390a063 |
|
02-Jun-2009 |
Dale Johannesen <dalej@apple.com> |
Revert 72707 and 72709, for the moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4150d83abe90a5da4ddf86433b7bf4329acfa57c |
|
02-Jun-2009 |
Dale Johannesen <dalej@apple.com> |
Make the implicit inputs and outputs of target-independent ADDC/ADDE use MVT::i1 (later, whatever it gets legalized to) instead of MVT::Flag. Remove CARRY_FALSE in favor of 0; adjust all target-independent code to use this format. Most targets will still produce a Flag-setting target-dependent version when selection is done. X86 is converted to use i32 instead, which means TableGen needs to produce different code in xxxGenDAGISel.inc. This keys off the new supportsHasI1 bit in xxxInstrInfo, currently set only for X86; in principle this is temporary and should go away when all other targets have been converted. All relevant X86 instruction patterns are modified to represent setting and using EFLAGS explicitly. The same can be done on other targets. The immediate behavior change is that an ADC/ADD pair are no longer tightly coupled in the X86 scheduler; they can be separated by instructions that don't clobber the flags (MOV). I will soon add some peephole optimizations based on using other instructions that set the flags to feed into ADC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
9008ca6b6b4f638cfafccb593cbc5b1d3f5ab877 |
|
27-Apr-2009 |
Nate Begeman <natebegeman@mac.com> |
2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. PR2957 ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes as the shuffle mask. A value of -1 represents UNDEF. In addition to eliminating the creation of illegal BUILD_VECTORS just to represent shuffle masks, we are better about canonicalizing the shuffle mask, resulting in substantially better code for some classes of shuffles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
15684b29552393553524171bff1913e750f390f8 |
|
24-Apr-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 69952. Causes testsuite failures on linux x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
b706d29f9c5ed3ed9acc82f7ab46205ba56b92dc |
|
24-Apr-2009 |
Nate Begeman <natebegeman@mac.com> |
PR2957 ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes as the shuffle mask. A value of -1 represents UNDEF. In addition to eliminating the creation of illegal BUILD_VECTORS just to represent shuffle masks, we are better about canonicalizing the shuffle mask, resulting in substantially better code for some classes of shuffles. A clean up of x86 shuffle code, and some canonicalizing in DAGCombiner is next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
88c7af096b09ad26cbcebfdf40151e04094b7460 |
|
13-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize it accordingly. Thanks to Jakob Stoklund Olesen for pointing out how this might be useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f8c7394781f7cf27ac52ca087e289436d36844da |
|
13-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Add a new TargetInstrInfo MachineInstr opcode, COPY_TO_SUBCLASS. This will be used to replace things like X86's MOV32to32_. Enhance ScheduleDAGSDNodesEmit to be more flexible and robust in the presense of subregister superclasses and subclasses. It can now cope with the definition of a virtual register being in a subclass of a use. Re-introduce the code for recording register superreg classes and subreg classes. This is needed because when subreg extracts and inserts get coalesced away, the virtual registers are left in the correct subclass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4b6fce4c0575ab16428970ea8e18e73cd96cea39 |
|
31-Mar-2009 |
Dan Gohman <gohman@apple.com> |
Tidy up some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
da4231f134989af7dc6bd3408821ba573def27b2 |
|
26-Mar-2009 |
Jim Grosbach <grosbach@apple.com> |
fix a few spelling errors and typos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
7cee81703de8333d457ec9e560b0537b71df5a48 |
|
19-Mar-2009 |
Nate Begeman <natebegeman@mac.com> |
Add support to tablegen for naming the nodes themselves, not just the operands, in selectiondag patterns. This is required for the upcoming shuffle_vector rewrite, and as it turns out, cleans up a hack in the Alpha instruction info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
a14b1ded69dc76f4e41ef60eeab89dc8575af44b |
|
13-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
add a new TGError class and use it to propagate location info with errors when thrown. This gets us nice errors like this from tblgen: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: error: Included from X86.td:116: Parsing X86InstrInfo.td:922: In CMOVL32rr: X86cmov node requires exactly 4 operands! def CMOVL32rr : I<0x4C, MRMSrcReg, // if <s, GR32 = GR32 ^ instead of just: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: In CMOVL32rr: X86cmov node requires exactly 4 operands! This is all I plan to do with this, but it should be easy enough to improve if anyone cares (e.g. keeping more loc info in "dag" expr records in tblgen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
49de98214b82fefeb8f16efbf8cdd8813a85469b |
|
05-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
Reapply 63765. Patches for clang and llvm-gcc to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4d452de1506344bf1d28bb4a8c4ddb78c51a28c8 |
|
04-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
Reverting 63765. This broke the build of both clang and llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d24479730a8790d82c4859dc477bc2416d7a6bda |
|
04-Feb-2009 |
Nate Begeman <natebegeman@mac.com> |
New feature: add support for target intrinsics being defined in the target directories themselves. This also means that VMCore no longer needs to know about every target's list of intrinsics. Future work will include converting the PowerPC target to this interface as an example implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
b0d5cdd52e8448f769cd71aaee6a4b8592dc08b1 |
|
01-Feb-2009 |
Duncan Sands <baldrick@free.fr> |
Fix PR3453 and probably a bunch of other potential crashes or wrong code with codegen of large integers: eliminate the legacy getIntegerVTBitMask and getIntegerVTSignBit methods, which returned their value as a uint64_t, so couldn't handle huge types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e035fa50f37bb3d49a483921ff591983d8ba3384 |
|
05-Jan-2009 |
Bob Wilson <bob.wilson@apple.com> |
Handle iAny and fAny types in TreePatternNode::UpdateNodeType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6c01ca9e29816e36e96112ed541ecf3414a7aad2 |
|
05-Jan-2009 |
Bob Wilson <bob.wilson@apple.com> |
Fix spelling in some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
62c939d7d5572e57963a5f26fb6fe802e13dc0bf |
|
03-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Mark x86's V_SET0 and V_SETALLONES with isSimpleLoad, and teach X86's foldMemoryOperand how to "fold" them, by converting them into constant-pool loads. When they aren't folded, they use xorps/cmpeqd, but for example when register pressure is high, they may now be folded as memory operands, which reduces register pressure. Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will remat it instead of copying zeros around (V_SETALLONES was already marked). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
41474baac839da410302950305722cb0e026a094 |
|
03-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Add a sanity-check to tablegen to catch the case where isSimpleLoad is set but mayLoad is not set. Fix all the problems this turned up. Change code to not use isSimpleLoad instead of mayLoad unless it really wants isSimpleLoad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
cdcc3e6e12b8b4e224bd62c96768c5f5e325aace |
|
13-Nov-2008 |
Bill Wendling <isanbard@gmail.com> |
Modify the intrinsics pattern to separate out the "return" types from the "parameter" types. An intrinsic can now return a multiple return values like this: def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty], [LLVMMatchType<0>, LLVMMatchType<0>]>; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0540e17788f0d09d784fb9bd9b354e02f1c5e4a4 |
|
15-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Add support for having multiple predicates on a TreePatternNode. This will allow predicates to be composed, which will allow the predicate definitions to become less redundant, and eventually will allow DAGISelEmitter.cpp to emit less redundant code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
22bb31103de3337f0bb74c7bee16d1817d4dca14 |
|
22-Aug-2008 |
Dan Gohman <gohman@apple.com> |
Factor out the predicate check code from DAGISelEmitter.cpp and use it in FastISelEmitter.cpp, and make FastISel subtarget aware. Among other things, this lets it work properly on x86 targets that don't have SSE, where it successfully selects x87 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e3b3a7241c01f26613694e53b26b01abf764ddfc |
|
30-Jul-2008 |
Mon P Wang <wangmp@apple.com> |
Added support for overloading intrinsics (atomics) based on pointers to different address spaces. This alters the naming scheme for those intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
2ca698df93421327a459987b33b045756cb47d4d |
|
30-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
check in anton's patch to make inlining happen in a determinstic order and fix the bug that it uncovers: inlining a pattern fragment could bring in other pattern fragments if the inlinee hadn't already been inlined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
28873106309db515d58889a4c4fa3e0a92d1b60e |
|
25-Jun-2008 |
Mon P Wang <wangmp@apple.com> |
Added MemOperands to Atomic operations since Atomics touches memory. Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6bd9567a6a1ba62118cdd258ddc52ea8f82ff511 |
|
16-Jun-2008 |
Evan Cheng <evan.cheng@apple.com> |
- Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. - Mark lots of X86 intrinsics as "Commutative" to allow load folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
83ec4b6711980242ef3c55a4fa36b2d7a39c1bfb |
|
06-Jun-2008 |
Duncan Sands <baldrick@free.fr> |
Wrap MVT::ValueType in a struct to get type safety and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e4c67cdab4a2ad2ff53183ad32e77e8608c9262d |
|
31-May-2008 |
Dan Gohman <gohman@apple.com> |
Teach the DAGISelEmitter to not compute the variable_ops operand index for the input pattern in terms of the output pattern. Instead keep track of how many fixed operands the input pattern actually has, and have the input matching code pass the output-emitting function that index value. This simplifies the code, disentangles variables_ops from the support for predication operations, and makes variable_ops more robust. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
d35121ad00667d93ea779a722dbee7d022410815 |
|
29-May-2008 |
Dan Gohman <gohman@apple.com> |
Fix a tblgen problem handling variable_ops in tblgen instruction definitions. This adds a new construct, "discard", for indicating that a named node in the input matching pattern is to be discarded, instead of corresponding to a node in the output pattern. This allows tblgen to know where the arguments for the varaible_ops are supposed to begin. This fixes "rdar://5791600", whatever that is ;-). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ee4fa1977dd3a495a8857eef924ee5961db765c6 |
|
03-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Move instruction flag inference out of InstrInfoEmitter and into CodeGenDAGPatterns, where it can be used in other tablegen backends. This allows the inference to be done for DAGISelEmitter so that it gets accurate mayLoad/mayStore/isSimpleLoad flags. This brings MemOperand functionality back to where it was before 48329. However, it doesn't solve the problem of anonymous patterns which expand to code that does loads or stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
71a2cb25ebc818383dd0f80475bc166f834e8d99 |
|
20-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
detabify llvm, patch by Mike Stump! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
5b4153710e0b94b0af10d4838216ee112d4b37bc |
|
11-Mar-2008 |
Christopher Lamb <christopher.lamb@gmail.com> |
Recommitting changes after more testing. These appear to cause no problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
4499e495eabe8de7d595416a03c56af4688df507 |
|
10-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Revert 48125, 48126, and 48130 for now to unbreak some x86-64 tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
02f693708d0731cfd31f8ab69766f150c169231e |
|
10-Mar-2008 |
Christopher Lamb <christopher.lamb@gmail.com> |
Revert accidentally committed local changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
620d7412508ae63378462df73d75706f19582646 |
|
10-Mar-2008 |
Christopher Lamb <christopher.lamb@gmail.com> |
Add support in TableGen for unknown operands that infer their type from the pattern their used in. This will be used to allow insert/extract subreg patterns in .td files! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
327d0651f8c3b1480d8fc1f4d96e07a1452eaa8c |
|
05-Mar-2008 |
Scott Michel <scottm@aero.org> |
This patch fixes a problem encountered by the CellSPU backend where variants were being pruned in patterns where a variable was used more than once, e.g.: (or (and R32C:$rA, R32C:$rC), (and R32C:$rB, (not R32C:$rC))) In this example, $rC is used more than once and is actually significant to instruction selection pattern matching when commuted variants are produced. This patch scans the pattern's clauses and collects the variables, creating a set of variables that are used more than once. TreePatternNode::isIsomorphicTo() also understands that multiply-used variables are significant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
27926af8285b194df04db2b9a1e38ec1e570c9ac |
|
26-Feb-2008 |
Bill Wendling <isanbard@gmail.com> |
De-tabify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
ae9f3a3b7c915f725aef5a7250e88eaeddda03c6 |
|
20-Feb-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
0123b7dcfa9be97588926407163deb8d603487ce |
|
16-Feb-2008 |
Scott Michel <scottm@aero.org> |
Make tblgen a little smarter about constants smaller than i32. Currently, tblgen will complain if a sign-extended constant does not fit into a data type smaller than i32, e.g., i16. This causes a problem when certain hex constants are used, such as 0xff for byte masks or immediate xor values. tblgen will try the sign-extended value first and, if the sign extended value would overflow, it tries to see if the unsigned value will fit. Consequently, a software developer can now safely incant: (XORHIr16 R16C:$rA, 0xffff) which is somewhat clearer and more informative than incanting: (XORHIr16 R16C:$rA, (i16 -1)) even if the two are bitwise equivalent. Tblgen also outputs the 64-bit unsigned constant in the generated ISel code when getTargetConstant() is invoked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
b5af3344c196de5ed3f45b250dfb864be6e9ddc5 |
|
09-Feb-2008 |
Nate Begeman <natebegeman@mac.com> |
Tablegen support for insert & extract element matching git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
9a79de3d091978cfee5264ee2563fc5dedd33cb7 |
|
15-Jan-2008 |
Chuck Rose III <cfr@adobe.com> |
Add files to windows project files. Also include <algorithm> explicitly so that vstudio build works git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
bc0b9f70ae072d695e0eb7ceb729b3306b0679fe |
|
10-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
start inferring 'no side effects'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
710e995889c71812743f3f33861c24273f4569a7 |
|
10-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
realize that instructions who match intrinsics that read memory read memory. Also, instructions with any nodes that are SDNPMayLoad also read memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
c8478d8b12c2d7e4cea32d0c9940f5cac2baa4dd |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Change the 'isStore' inferrer to look for 'SDNPMayStore' instead of "ISD::STORE". This allows us to mark target-specific dag nodes as storing (such as ppc byteswap stores). This allows us to remove more explicit isStore flags from the .td files. Finally, add a warning for when a .td file contains an explicit isStore and tblgen is able to infer it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
e67bde5bb1959dbd7085981cb0bcf6f7c749f724 |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
set the 'isstore' flag for instructions whose pattern is an intrinsic that writes to memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
f1ab4f18aad3950d0b9ff1273a276bb8d195d2d6 |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
improve const correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
fe71893183f504feff290e343bf740bd32432129 |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
rename CodegenDAGPatterns -> CodeGenDAGPatterns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
93c7e418257bd65fcf8f5d9faa9487dd99358430 |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
fix build on case sensitive file systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
443e3f9dd61b8d0974bb13d484195ce1a9b7536c |
|
05-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
move Node Transformation printing from CodeGenDAGPatterns -> DAGISelEmitter. The only difference in output is that we now print them in alphabetical order instead of reverse alphabetical order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
dc32f9802adc139e3d7ee5e25fe656b1d3999bc2 |
|
05-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
move predicate printing code from CodeGenDAGPatterns -> DAGISelEmitter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|
6cefb77a7073057fecd721ae141140d75ce76512 |
|
05-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
change getQualifiedName to be a global function. Split the pattern parsing code out from the dag isel emitter into it's own file. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
|