[llvm-commits] [llvm] r45022 - in /llvm/trunk: include/llvm/Target/TargetInstrInfo.h lib/Target/Target.td utils/TableGen/CodeGenInstruction.h utils/TableGen/CodeGenTarget.cpp utils/TableGen/InstrInfoEmitter.cpp

Bill Wendling isanbard at gmail.com
Mon Dec 17 12:52:08 PST 2007


On Dec 17, 2007 12:46 PM, Evan Cheng <evan.cheng at apple.com> wrote:
> On Dec 17, 2007, at 11:40 AM, Bill Wendling wrote:
> >> As others have pointed out, we need to be much more clear about what
> >> these mean.  Specifically, I'd list "NEVER" first (it is easier to
> >> explain). The pertinent point here is completely missing in the
> >> comments:  this flag is set on an instruction where there is a side
> >> effect that is not captured by any *operands* of the instruction or
> >> *other flags*.  Instructions that are "isBranch" instructions but
> >> have
> >> no other side effects should have M_NEVER_HAS_SIDE_EFFECTS set.  This
> >> flag should only be set on an instruction when *all instances* of an
> >> instruction of that opcode have no side effects in this way.
> >>
> > I'm confused. If we set this for an instruction where there is a side
>
> I am pretty sure he meant the opposite. If M_NEVER_HAS_SIDE_EFFECTS is
> set, that means the instruction would never have any side effects that
> are not captured in the operands.
>
Okay. That makes more sense to me. I thought that there might have
been a "not" or something missing. :-)

-bw



More information about the llvm-commits mailing list