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
    • Francois Pichet's avatar
      Replace snprintf with raw_string_ostream. · aec9739e
      Francois Pichet authored
      llvm-svn: 141116
      aec9739e
    • David Greene's avatar
      Allow Operator Arguments · a8b8ab6b
      David Greene authored
      When resolving an operator list element reference, resolve all
      operator operands and try to fold the operator first.  This allows the
      operator to collapse to a list which may then be indexed.
      
      Before, it was not possible to do this:
      class D<int a, int b> { ... }
      class C<list<int> A> : D<A[0], A[1]>;
      class B<list<int> b> : C<!foreach(...,b)>;
      
      Now it is.
      
      llvm-svn: 141101
      a8b8ab6b
    • Ted Kremenek's avatar
      Unbreak CMake build. · 539f7b04
      Ted Kremenek authored
      llvm-svn: 141097
      539f7b04
    • Devang Patel's avatar
      Put GCOVFile and other related interface in a common header so that llvm-cov... · 8dfb6551
      Devang Patel authored
      Put GCOVFile and other related interface in a common header so that llvm-cov tool can share it with GCOV writer.
      
      llvm-svn: 141095
      8dfb6551
    • Francois Pichet's avatar
      Unbreak MSVC build. · b26b49ca
      Francois Pichet authored
      llvm-svn: 141093
      b26b49ca
Loading