- Mar 15, 2008
-
-
Evan Cheng authored
Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF. llvm-svn: 48380
-
- Feb 02, 2008
-
-
Evan Cheng authored
SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc. Added ISD::DECLARE node type to represent llvm.dbg.declare intrinsic. Now the intrinsic calls are lowered into a SDNode and lives on through out the codegen passes. For now, since all the debugging information recording is done at isel time, when a ISD::DECLARE node is selected, it has the side effect of also recording the variable. This is a short term solution that should be fixed in time. llvm-svn: 46659
-
- Jan 11, 2008
-
-
Chris Lattner authored
both work right according to the new flags. This removes the TII::isReallySideEffectFree predicate, and adds TII::isInvariantLoad. It removes NeverHasSideEffects+MayHaveSideEffects and adds UnmodeledSideEffects as machine instr flags. Now the clients can decide everything they need. I think isRematerializable can be implemented in terms of the flags we have now, though I will let others tackle that. llvm-svn: 45843
-
- Jan 10, 2008
-
-
Chris Lattner authored
x86 backend where instructions were not marked maystore/mayload, and perf issues where instructions were not marked neverHasSideEffects. It would be really nice if we could write patterns for copy instructions. I have audited all the x86 instructions down to MOVDQAmr. The flags on others and on other targets are probably not right in all cases, but no clients currently use this info that are enabled by default. llvm-svn: 45829
-
Chris Lattner authored
llvm-svn: 45823
-
Chris Lattner authored
llvm-svn: 45822
-
Chris Lattner authored
llvm-svn: 45819
-
Chris Lattner authored
Also, instructions with any nodes that are SDNPMayLoad also read memory. llvm-svn: 45817
-
- Jan 08, 2008
-
-
Chris Lattner authored
This is currently not set by anything. llvm-svn: 45748
-
- Jan 07, 2008
-
-
Chris Lattner authored
Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
-
Chris Lattner authored
all clients over to using predicates instead of these flags directly. These are now private values which are only to be used to statically initialize the tables. llvm-svn: 45692
-
Chris Lattner authored
Evan, please review the comments I added to getNumDefs to make sure that they are accurate, thx. llvm-svn: 45687
-
Chris Lattner authored
TargetInstrDescriptor class and shrink to 16-bits, saving a word in TargetInstrDescriptor. Add some comments. llvm-svn: 45686
-
Chris Lattner authored
just unconditionally use the def name of the instruction. llvm-svn: 45684
-
Chris Lattner authored
over to using them, instead of diddling Flags directly. Change the various flags from const variables to enums. llvm-svn: 45677
-
Chris Lattner authored
llvm-svn: 45667
-
- Jan 06, 2008
-
-
Chris Lattner authored
llvm-svn: 45656
-
Chris Lattner authored
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. llvm-svn: 45654
-
Chris Lattner authored
intrinsic that writes to memory. llvm-svn: 45650
-
Chris Lattner authored
occured in a pattern, but failed miserably. The new code works for any instruction that has a store in its pattern, including all the x86 mem op mem instructions. The only target-independent code that uses this is branch folding, so this won't change anything in practice. llvm-svn: 45648
-
Chris Lattner authored
rearrange some code to allow inferring instr info from the pattern of the instr, but don't do so yet. llvm-svn: 45647
-
Chris Lattner authored
llvm-svn: 45644
-
Chris Lattner authored
llvm-svn: 45643
-
Chris Lattner authored
llvm-svn: 45642
-
Chris Lattner authored
llvm-svn: 45640
-
- Dec 30, 2007
-
-
Chris Lattner authored
llvm-svn: 45429
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
- Dec 14, 2007
-
-
Bill Wendling authored
side effects for machine instructions. llvm-svn: 45022
-
- Dec 13, 2007
-
-
Evan Cheng authored
llvm-svn: 44969
-
- Nov 12, 2007
-
-
Owen Anderson authored
Target maintainers: please check that the instructions for your target are correctly marked. llvm-svn: 44012
-
- Aug 02, 2007
-
-
Evan Cheng authored
llvm-svn: 40709
-
- Jul 26, 2007
-
-
Christopher Lamb authored
llvm-svn: 40518
-
- Jul 10, 2007
-
-
Evan Cheng authored
llvm-svn: 38498
-
- Jul 07, 2007
-
-
Evan Cheng authored
llvm-svn: 37963
-
- Jul 05, 2007
-
-
Evan Cheng authored
Instructions with ImmutablePredicateOperand aren't really predicable since their predicates are fixed at isel time. llvm-svn: 37899
-
- Jun 26, 2007
-
-
Dan Gohman authored
instruction flag, and use the flag along with a virtual member function hook for targets to override if there are instructions that are only trivially rematerializable with specific operands (i.e. constant pool loads). llvm-svn: 37728
-
- Jun 19, 2007
-
-
Dan Gohman authored
with a general target hook to identify rematerializable instructions. Some instructions are only rematerializable with specific operands, such as loads from constant pools, while others are always rematerializable. This hook allows both to be identified as being rematerializable with the same mechanism. llvm-svn: 37644
-
Evan Cheng authored
llvm-svn: 37643
-
- Jun 06, 2007
-
-
Evan Cheng authored
Add clobbersPred - instruction that clobbers condition code / register which are used to predicate instructions. llvm-svn: 37465
-
- May 16, 2007
-
-
Evan Cheng authored
Rename M_PREDICATED to M_PREDICABLE; opcode can be specified isPredicable without having a PredicateOperand. llvm-svn: 37116
-