Skip to content
  1. Oct 05, 2011
  2. Oct 04, 2011
    • Jakob Stoklund Olesen's avatar
      Allow <undef> flags on def operands as well as uses. · 10f2de32
      Jakob Stoklund Olesen authored
      The <undef> flag says that a MachineOperand doesn't read its register,
      or doesn't depend on the previous value of its register.
      
      A full register def never depends on the previous register value.  A
      partial register def may depend on the previous value if it is intended
      to update part of a register.
      
      For example:
      
        %vreg10:dsub_0<def,undef> = COPY %vreg1
        %vreg10:dsub_1<def> = COPY %vreg2
      
      The first copy instruction defines the full %vreg10 register with the
      bits not covered by dsub_0 defined as <undef>.  It is not considered a
      read of %vreg10.
      
      The second copy modifies part of %vreg10 while preserving the rest.  It
      has an implicit read of %vreg10.
      
      This patch adds a MachineOperand::readsReg() method to determine if an
      operand reads its register.
      
      Previously, this was modelled by adding a full-register <imp-def>
      operand to the instruction.  This approach makes it possible to
      determine directly from a MachineOperand if it reads its register.  No
      scanning of MI operands is required.
      
      llvm-svn: 141124
      10f2de32
    • Jim Grosbach's avatar
      Tidy up formatting. · 28a0bc55
      Jim Grosbach authored
      llvm-svn: 141123
      28a0bc55
    • Bill Wendling's avatar
      Doxygen-ize comments. No functionality change. · 0f7efaf9
      Bill Wendling authored
      llvm-svn: 141122
      0f7efaf9
    • Daniel Dunbar's avatar
      Remove unused web page. · 4dfad843
      Daniel Dunbar authored
      llvm-svn: 141118
      4dfad843
Loading