ed3e0638525f4e5bc39d3ecc5d6282b7638ada94 |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
81760863d144656b1d9753cbedb4d97927429b81 |
|
04-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
zap dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
de09e922a6a82ff48d31328606f691591ae8fa19 |
|
07-Jul-2010 |
Devang Patel <dpatel@apple.com> |
Propagate debug loc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
dbb121b1f19bf77e0bef8725d5ee42c1b8761caf |
|
17-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Use const qualifiers with TargetLowering. This eliminates several const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
36c56d0353f1a9c4e878f509aff85a62e5087dd4 |
|
15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add const qualifiers to CodeGen's use of LLVM IR constructs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
087340ec12cbd65e0e16e9ac9be194b3b57c8f2e |
|
02-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
remove 300 lines of code that is now dead in the MSP430 backend now that isel handles chains more aggressively. This also allows us to make isLegalToFold non-virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
017965026f37cd0b619b3f580f544566fe560950 |
|
02-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Fix some issues in WalkChainUsers dealing with CopyToReg/CopyFromReg/INLINEASM. These are annoying because they have the same opcode before an after isel. Fix this by setting their NodeID to -1 to indicate that they are selected, just like what automatically happens when selecting things that end up being machine nodes. With that done, give IsLegalToFold a new flag that causes it to ignore chains. This lets the HandleMergeInputChains routine be the one place that validates chains after a match is successful, enabling the new hotness in chain processing. This smarter chain processing eliminates the need for "PreprocessRMW" in the X86 and MSP430 backends and enables MSP to start matching it's multiple mem operand instructions more aggressively. I currently #if out the dead code in the X86 backend and MSP backend, I'll remove it for real in a follow-on patch. The testcase changes are: test/CodeGen/X86/sse3.ll: we generate better code test/CodeGen/X86/store_op_load_fold2.ll: PreprocessRMW was miscompiling this before, we now generate correct code Convert it to filecheck while I'm at it. test/CodeGen/MSP430/Inst16mm.ll: Add a testcase for mem/mem folding to make anton happy. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
6411e3e62ea9dfe23f5fa24b9d6a84da7ec70a98 |
|
02-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Sink InstructionSelect() out of each target into SDISel, and rename it DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader. Sink some other stuff out of DAGISelHeader into SDISel. Eliminate the various 'Indent' stuff from various targets, which dates to when isel was recursive. 17 files changed, 114 insertions(+), 430 deletions(-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
f80681ead6c31677f300779fe356c77e34678396 |
|
15-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Split SelectionDAGISel::IsLegalAndProfitableToFold to IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use. This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
5f082a7df38fa6d7b53c0d7baeca8d74f097d659 |
|
05-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Change SelectCode's argument from SDValue to SDNode *, to make it more clear what information these functions are actually using. This is also a micro-optimization, as passing a SDNode * around is simpler than passing a { SDNode *, int } by value or reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
87e3a09d6ad1b6a1b70fbce32bc3f487c5cb0ffb |
|
28-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Remove dead variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
efb9350360fe13284f9162fec884d16590da206a |
|
13-Dec-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Do not allow uninitialize access during debug printing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
9b9d2a5f2053a53da30f4bc42f18df77646ca3a9 |
|
21-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Update for new getBlockAddress signature. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
8154d2e023fe3137363f8bbc9dae2dff7188dccb |
|
10-Nov-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix DenseMap iterator constness. This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
fc5c66b384e5ac8089737a40b97a02ae32176142 |
|
08-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Fix invalid operand updates & implement post-inc memory operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
a0e695bd1f1afe129a7e294b02cdba45629f0c9c |
|
07-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
First try of the post-inc operands handling... Not fully worked, though :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
a6d97be420bb6fe615998154f555b06be9cc1cf5 |
|
07-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add some dummy support for post-incremented loads git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
1c7e166ffb74e4504175767260bd1e23e35f98b7 |
|
07-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Initial support for addrmode handling. Tests by Brian Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
7abf0939c0cf058c89bfdf010ebfa0377fb17034 |
|
05-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Remove uninteresting and confusing debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
812c4346ae2badfb759ba1a0c1187eda28092821 |
|
22-Oct-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Shift art to the right to keep GCC from complaining about multi-line comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
fadf5e5953fdd1925c1d71dec4d771ab06b2e186 |
|
22-Oct-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Use special DAG-to-DAG preprocessing to allow mem-mem instructions to be selected. Yay for ASCII graphics! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
85a066070801c2ab1d8a39dcb0c5033fb188e9d8 |
|
21-Oct-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add DAG printing for RMW stuff debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
a3d275414331b53b0a3ed6490719417c016b3515 |
|
21-Oct-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable some tests until it will be clever enough to handle them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
1bb755cbeeabe6610220f1867fc08ea9503775a4 |
|
12-Oct-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
9cbe2bc74aff10a95b2ee6ed6fb4a47dffee4751 |
|
11-Oct-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Implement 'm' memory operand properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
61fda0d889b3578fe435455679182c231a649aac |
|
25-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Rename getTargetNode to getMachineNode, for consistency with the naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
33b2663488b0f8f188c1a6003faabd5ee89f7749 |
|
23-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix some refactos for iostream changes (in -Asserts mode). - The world needs better C++ refactoring tools, can I get an Amen!? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
2c6014b7beb12b2eb1f2487d3b52ebea13b7f58e |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the last DOUTs from the targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
36e3a6e235ee8b21eba777686b4508f71248b869 |
|
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/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
ac9de036dc0e4065ee2c03419f11515a34ce505e |
|
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/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
4d9756a9843862edb9daddfaa0d8c78ac1c52b32 |
|
08-Jul-2009 |
Edwin Török <edwintorok@gmail.com> |
Implement changes from Chris's feedback. Finish converting lib/Target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
7a969d8c47d8916099ff7a2dcb87cf42137e03c4 |
|
04-May-2009 |
asl <asl@91177308-0d34-0410-b5e6-96231b3b80d8> |
Fix code emission for conditional branches. Patch by Collin Winter! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
0d370dcf2d8b7092355935d7d52e7236dd745345 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Update due to mainline API change git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
7a872e95a74b53a5360b559e4096dcb6753263da |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add 8bit shifts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
165bbe3b7517003c363e54f3187f5dcc1218e2dd |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Properly handle ExternalSymbol's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
76f578d8a41309e9a74e1c87476b9a19693cbb93 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Small tweaking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
3c10ef5a963c736849a7bb453238ede34be9eb77 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Proper handle loading of effective address of stack slot stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
9dbaeaa03759d55f35edaf98d6078d7076b99882 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Match frame indexes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
a6e3669f02a049e1fc0e5732d5ffbbe4a19027fd |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Reverse order of memory arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
0a4985b79ec879d0267b6e7d64fc551249c086c8 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Correct asmprinting of memory operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
9841d21a31cbc34a0915671ac89116215568ace7 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Match wrapper node for address git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
4c88f11c8739ff1395bc5b07b223eb84894d50e9 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Basic support for mem=>reg moves git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
81e1f97bd3da47ff1b0cb85336a104a7a654f310 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Clearify the usage and add some debug stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
10a5a3c82145edc6fe8e9b030b0ccb27b625adb1 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|
37171571716b9cb7c5aeb5b45d95b1fbd0716d03 |
|
03-May-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Dummy MSP430 backend git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
|