- Jan 04, 2010
-
-
Dan Gohman authored
for a refactoring I'm working on. llvm-svn: 92503
-
- Dec 19, 2009
-
-
Dan Gohman authored
llvm-svn: 91741
-
- Nov 24, 2009
-
-
Dan Gohman authored
Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. llvm-svn: 89711
-
- Nov 14, 2009
-
-
Benjamin Kramer authored
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi! llvm-svn: 88798
-
- Nov 08, 2009
-
-
Anton Korobeynikov authored
since the instruction might use the other result of different type. llvm-svn: 86462
-
- Oct 30, 2009
-
-
Dan Gohman authored
llvm-svn: 85556
-
- Oct 29, 2009
-
-
Dan Gohman authored
*ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. llvm-svn: 85530
-
Dan Gohman authored
bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
-
- Oct 15, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 84193
-
- 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 11, 2009
-
-
Owen Anderson authored
Partial fix for PR4946. llvm-svn: 81518
-
- Aug 23, 2009
-
-
Chris Lattner authored
update all code that this affects. llvm-svn: 79830
-
Chris Lattner authored
llvm-svn: 79821
-
- Aug 22, 2009
-
-
Devang Patel authored
llvm-svn: 79742
-
- Aug 11, 2009
-
-
Owen Anderson authored
the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
-
Owen Anderson authored
llvm-svn: 78610
-
- Aug 08, 2009
-
-
Chris Lattner authored
llvm-svn: 78417
-
- Jul 30, 2009
-
-
Daniel Dunbar authored
llvm-svn: 77613
-
- Jul 29, 2009
-
-
Chris Lattner authored
llvm-svn: 77503
-
- Jul 08, 2009
-
-
Torok Edwin authored
Also remove trailing semicolon. llvm-svn: 75027
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- Jun 02, 2009
-
-
Dale Johannesen authored
llvm-svn: 72712
-
Dale Johannesen authored
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. llvm-svn: 72707
-
- May 13, 2009
-
-
Dale Johannesen authored
Should remove a warning from MSVC. llvm-svn: 71603
-
- May 04, 2009
-
-
Dan Gohman authored
llvm-svn: 70879
-
- Apr 30, 2009
-
-
Bill Wendling authored
which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
-
- Apr 29, 2009
-
-
Bill Wendling authored
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343
-
- Apr 28, 2009
-
-
Bill Wendling authored
llvm-svn: 70275
-
Bill Wendling authored
use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... llvm-svn: 70270
-
- Apr 13, 2009
-
-
Dan Gohman authored
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. llvm-svn: 68961
-
- Apr 03, 2009
-
-
Dan Gohman authored
Note that these are distinct from TargetInstrInfo::INSERT_SUBREG and TargetInstrInfo::EXTRACT_SUBREG, which are used. llvm-svn: 68355
-
- Mar 26, 2009
-
-
Jim Grosbach authored
llvm-svn: 67758
-
Jim Grosbach authored
llvm-svn: 67750
-
Jim Grosbach authored
register classes. Before, MVT::Other would be returned anytime a reg was in multiple register classes. Now, MVT::Other is only returned if the types for those register classes differ. llvm-svn: 67714
-
- Feb 06, 2009
-
-
Dale Johannesen authored
its corresponding getTargetNode. Lots of caller changes. llvm-svn: 63904
-
- Feb 05, 2009
-
-
Dale Johannesen authored
llvm-svn: 63889
-
Dale Johannesen authored
Adjust callers. llvm-svn: 63789
-
- Jan 30, 2009
-
-
Bill Wendling authored
llvm-svn: 63342
-
- Jan 29, 2009
-
-
Bill Wendling authored
- Modify TableGen to add the DebugLoc when calling getTargetNode. (The light-weight wrappers are only temporary. The non-DebugLoc version will be removed once the whole debug info stuff is finished with.) llvm-svn: 63273
-