- Sep 28, 2009
-
-
Jakob Stoklund Olesen authored
unused DECLARE instruction. KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF in the places where IMPLICIT_DEF is just used to alter liveness of physical registers. llvm-svn: 83006
-
Mikhail Glushenkov authored
llvm-svn: 82957
-
Mikhail Glushenkov authored
llvm-svn: 82955
-
- Sep 25, 2009
-
-
Dan Gohman authored
- Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. llvm-svn: 82794
-
Dan Gohman authored
naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
-
- Sep 24, 2009
-
-
David Goodwin authored
llvm-svn: 82709
-
- Sep 21, 2009
-
-
Mikhail Glushenkov authored
llvm-svn: 82456
-
- Sep 18, 2009
-
-
Chris Lattner authored
llvm-svn: 82244
-
Chris Lattner authored
llvm-svn: 82236
-
- Sep 14, 2009
-
-
Chris Lattner authored
llvm-svn: 81742
-
Chris Lattner authored
llvm-svn: 81741
-
Chris Lattner authored
llvm-svn: 81740
-
Chris Lattner authored
the encoding of the AsmStrs table saving a byte or two. llvm-svn: 81739
-
Chris Lattner authored
llvm-svn: 81728
-
- Sep 13, 2009
-
-
Chris Lattner authored
the object, make it static instead of const. llvm-svn: 81711
-
Chris Lattner authored
Nothing is using this info yet. llvm-svn: 81707
-
- Sep 11, 2009
-
-
Owen Anderson authored
Partial fix for PR4946. llvm-svn: 81518
-
Chris Lattner authored
out an illegal "PHINODE" instruction. llvm-svn: 81495
-
- Sep 10, 2009
-
-
Mikhail Glushenkov authored
llvm-svn: 81448
-
Mikhail Glushenkov authored
llvm-svn: 81447
-
Chris Lattner authored
the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. llvm-svn: 81396
-
Chris Lattner authored
a return in one case. Instead of sprinking return handling code throughout the asmprinter generator, just treat it like any other normal statement. llvm-svn: 81395
-
- Sep 09, 2009
-
-
Chris Lattner authored
asm printer into the "printInstruction" routine. This fixes a problem where the experimental asmprinter would drop debug labels in some cases, and fixes issues on ppc/xcore where pseudo instructions like "mr" didn't get debug locs properly. It is annoying that this moves the call from one place into each target, but a future set of more invasive refactorings will fix that problem. llvm-svn: 81377
-
- Sep 06, 2009
-
-
Duncan Sands authored
icc (#177, partial). Patch by Erick Tryzelaar. llvm-svn: 81106
-
- Aug 29, 2009
-
-
Bob Wilson authored
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. llvm-svn: 80423
-
- Aug 27, 2009
-
-
Bob Wilson authored
attempt more than 2 constraints on an instruction. llvm-svn: 80169
-
- Aug 25, 2009
-
-
Dan Gohman authored
This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. llvm-svn: 79990
-
- Aug 24, 2009
-
-
Chris Lattner authored
member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. llvm-svn: 79885
-
Chris Lattner authored
forcing them down into various .cpp files. This change also: 1. Renames TimeValue::toString() and Path::toString() to ::str() for similarity with the STL. 2. Removes all stream insertion support for sys::Path, forcing clients to call .str(). 3. Removes a use of Config/alloca.h from bugpoint, using smallvector instead. 4. Weans llvm-db off <iostream> sys::Path really needs to be gutted, but I don't have the desire to do it at this point. llvm-svn: 79869
-
- Aug 23, 2009
-
-
Benjamin Kramer authored
llvm-svn: 79850
-
Daniel Dunbar authored
- 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 - -- llvm-svn: 79846
-
Chris Lattner authored
update all code that this affects. llvm-svn: 79830
-
Chris Lattner authored
llvm-svn: 79821
-
Chris Lattner authored
instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). llvm-svn: 79807
-
- Aug 22, 2009
-
-
Devang Patel authored
llvm-svn: 79742
-
- Aug 17, 2009
-
-
David Goodwin authored
Extend the instruction itinerary model to include the ability to indicate the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed. llvm-svn: 79247
-
Chris Lattner authored
just remove the argument and replace it with 1. llvm-svn: 79246
-
- Aug 13, 2009
-
-
Owen Anderson authored
llvm-svn: 78948
-
Bob Wilson authored
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. llvm-svn: 78849
-
Dan Gohman authored
llvm-svn: 78848
-