- Mar 03, 2010
-
-
Evan Cheng authored
- Change MachineInstr::isIdenticalTo to take a new option that determines whether it should skip checking defs or at least virtual register defs. This subsumes part of the TargetInstrInfo::isIdentical functionality. - Eliminate TargetInstrInfo::isIdentical and replace it with produceSameValue. In the default case, produceSameValue just checks whether two machine instructions are identical (except for virtual register defs). But targets may override it to check for unusual cases (e.g. ARM pic loads from constant pools). llvm-svn: 97628
-
- Mar 02, 2010
-
-
Evan Cheng authored
llvm-svn: 97578
-
- Feb 15, 2010
-
-
David Greene authored
Add non-temporal flags to MachineMemOperand. llvm-svn: 96226
-
- Feb 10, 2010
-
-
Dan Gohman authored
llvm-svn: 95781
-
Dale Johannesen authored
the field from being used uninitialized later in some cases. llvm-svn: 95735
-
- Feb 09, 2010
-
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
- Jan 19, 2010
-
-
Jakob Stoklund Olesen authored
instructions. llvm-svn: 93925
-
- Jan 16, 2010
-
-
Devang Patel authored
llvm-svn: 93630
-
- Jan 13, 2010
-
-
Dale Johannesen authored
dumper doesn't really do what I want yet, but at least it doesn't crash now. llvm-svn: 93272
-
- Jan 06, 2010
-
-
Jakob Stoklund Olesen authored
An instruction like this: %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0 Must be replaced with this when substituting physical registers: %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def> llvm-svn: 92812
-
- Jan 05, 2010
-
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92545
-
- Dec 28, 2009
-
-
Chris Lattner authored
llvm-svn: 92214
-
- Dec 25, 2009
-
-
Bill Wendling authored
llvm-svn: 92159
-
Bill Wendling authored
llvm-svn: 92158
-
- Dec 16, 2009
-
-
Jim Grosbach authored
llvm-svn: 91554
-
- Dec 08, 2009
-
-
Evan Cheng authored
llvm-svn: 90815
-
- Dec 05, 2009
-
-
Dan Gohman authored
the column number if it is not known. Handle the case of a missing filename better. llvm-svn: 90630
-
- Dec 03, 2009
-
-
Evan Cheng authored
llvm-svn: 90488
-
Evan Cheng authored
llvm-svn: 90395
-
- Dec 01, 2009
-
-
Dan Gohman authored
DICompileUnit. This code now prints debug filenames successfully. llvm-svn: 90181
-
- Nov 23, 2009
-
-
Dan Gohman authored
no filename. This situation is apparently fairly common right now. llvm-svn: 89701
-
- Nov 16, 2009
-
-
Dan Gohman authored
uninitialized memory. llvm-svn: 88985
-
- Nov 09, 2009
-
-
Dan Gohman authored
instructions. This makes CodeGen dumps significantly less noisy. Example before: BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def,dead>, %D1<imp-def,dead>, %D2<imp-def,dead>, %D3<imp-def,dead>, %D4<imp-def,dead>, %D5<imp-def,dead>, %D6<imp-def,dead>, %D7<imp-def,dead>, %D16<imp-def,dead>, %D17<imp-def,dead>, %D18<imp-def,dead>, %D19<imp-def,dead>, %D20<imp-def,dead>, %D21<imp-def,dead>, %D22<imp-def,dead>, %D23<imp-def,dead>, %D24<imp-def,dead>, %D25<imp-def,dead>, %D26<imp-def,dead>, %D27<imp-def,dead>, %D28<imp-def,dead>, %D29<imp-def,dead>, %D30<imp-def,dead>, %D31<imp-def,dead>, %CPSR<imp-def,dead>, %FPSCR<imp-def,dead> Same example after: BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %LR<imp-def,dead>, %CPSR<imp-def,dead>, ... llvm-svn: 86583
-
- Nov 06, 2009
-
-
Dan Gohman authored
prints them with the leading '@'. llvm-svn: 86261
-
- Oct 31, 2009
-
-
Dan Gohman authored
- Be consistent when referring to MachineBasicBlocks: BB#0. - Be consistent when referring to virtual registers: %reg1024. - Be consistent when referring to unknown physical registers: %physreg10. - Be consistent when referring to known physical registers: %RAX - Be consistent when referring to register 0: %reg0 - Be consistent when printing alignments: align=16 - Print jump table contents. - Don't print host addresses, in general. - and various other cleanups. llvm-svn: 85682
-
- Oct 30, 2009
-
-
Dan Gohman authored
llvm-svn: 85556
-
- Oct 21, 2009
-
-
Evan Cheng authored
llvm-svn: 84749
-
- Oct 15, 2009
-
-
Evan Cheng authored
llvm-svn: 84152
-
- Oct 14, 2009
-
-
Devang Patel authored
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g llvm-svn: 84054
-
- Oct 10, 2009
-
-
Dan Gohman authored
is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687
-
- Oct 09, 2009
-
-
Dan Gohman authored
TargetInstrDesc::isRematerializable flag, so it isn't necessary to do this check in its callers. llvm-svn: 83671
-
- Oct 07, 2009
-
-
Dan Gohman authored
implementations with a new MachineInstr::isInvariantLoad, which uses MachineMemOperands and is target-independent. This brings MachineLICM and other functionality to targets which previously lacked an isInvariantLoad implementation. llvm-svn: 83475
-
- Oct 05, 2009
-
-
Chris Lattner authored
the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. llvm-svn: 83297
-
- Sep 29, 2009
-
-
Devang Patel authored
llvm-svn: 83083
-
- Sep 26, 2009
-
-
Dan Gohman authored
MathExtras.h in MachineMemOperand.h. llvm-svn: 82822
-
- 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
-
- Sep 23, 2009
-
-
Dan Gohman authored
two different places for printing MachineMemOperands. Drop the virtual from Value::dump and instead give Value a protected virtual hook that can be overridden by subclasses to implement custom printing. This lets printing be more consistent, and simplifies printing of PseudoSourceValue values. llvm-svn: 82599
-
- Sep 21, 2009
-
-
Dan Gohman authored
the base pointer, without the offset. This matches MemSDNode's new alignment behavior, and holds more interesting information. llvm-svn: 82473
-
- Sep 17, 2009
-
-
Jim Grosbach authored
llvm-svn: 82150
-
- Aug 23, 2009
-
-
Chris Lattner authored
llvm-svn: 79842
-