Skip to content
  1. Jun 18, 2013
  2. Jun 15, 2013
  3. Jun 13, 2013
  4. Jun 12, 2013
    • Rafael Espindola's avatar
      Remove the program class. · cb2eca0f
      Rafael Espindola authored
      It was only used to implement ExecuteAndWait and ExecuteNoWait. Expose just
      those two functions and make Execute and Wait implementations details.
      
      llvm-svn: 183864
      cb2eca0f
  5. Jun 10, 2013
  6. Jun 09, 2013
  7. Jun 07, 2013
  8. Jun 06, 2013
  9. Jun 05, 2013
  10. Jun 01, 2013
  11. May 31, 2013
    • Ahmed Bougacha's avatar
      Add a way to define the bit range covered by a SubRegIndex. · f1ed334d
      Ahmed Bougacha authored
      NOTE: If this broke your out-of-tree backend, in *RegisterInfo.td, change
      the instances of SubRegIndex that have a comps template arg to use the
      ComposedSubRegIndex class instead.
      
      In TableGen land, this adds Size and Offset attributes to SubRegIndex,
      and the ComposedSubRegIndex class, for which the Size and Offset are
      computed by TableGen. This also adds an accessor in MCRegisterInfo, and
      Size/Offsets for the X86 and ARM subreg indices.
      
      llvm-svn: 183020
      f1ed334d
  12. May 30, 2013
  13. May 28, 2013
    • Chad Rosier's avatar
      Remove the MCRegAliasIterator tables and compute the aliases dynamically. · 1bbbb312
      Chad Rosier authored
      The size reduction in the RegDiffLists are rather dramatic.  Here are a few
      size differences for MCTargetDesc.o files (before and after) in bytes:
      R600 - 36160B - 11184B - 69% reduction
      ARM - 28480B - 8368B - 71% reduction
      Mips - 816B - 576B - 29% reduction
      
      One side effect of dynamically computing the aliases is that the iterator does
      not guarantee that the entries are ordered or that duplicates have been removed.
      The documentation implies this is a safe assumption and I found no clients that
      requires these attributes (i.e., strict ordering and uniqueness).
      
      My local LNT tester results showed no execution-time failures or significant
      compile-time regressions (i.e., beyond what I would consider noise) for -O0g,
      -O2 and -O3 runs on x86_64 and i386 configurations.
      rdar://12906217
      
      llvm-svn: 182783
      1bbbb312
    • Alexey Samsonov's avatar
      Revert r182715 and r182758 · 1eba4e32
      Alexey Samsonov authored
      llvm-svn: 182761
      1eba4e32
    • Alexey Samsonov's avatar
      Fixup for r182715: provide correct arg to --gtest-filter · b262d264
      Alexey Samsonov authored
      llvm-svn: 182758
      b262d264
  14. May 26, 2013
  15. May 22, 2013
    • Bill Schmidt's avatar
      Recognize ValueType operands in source patterns for fast-isel. · 9b703f9c
      Bill Schmidt authored
      Currently the fast-isel table generator recognizes registers, register
      classes, and immediates for source pattern operands.  ValueType
      operands are not recognized.  This is not a problem for existing
      targets with fast-isel support, but will not work for targets like
      PowerPC and SPARC that use types in source patterns.
      
      The proposed patch allows ValueType operands and treats them in the
      same manner as register classes.  There is no convenient way to map
      from a ValueType to a register class, but there's no need to do so.
      The table generator already requires that all types in the source
      pattern be identical, and we know the register class of the output
      operand already.  So we just assign that register class to any
      ValueType operands we encounter.
      
      No functional effect on existing targets.  Testing deferred until the
      PowerPC target implements fast-isel.
      
      llvm-svn: 182512
      9b703f9c
  16. May 16, 2013
  17. May 15, 2013
  18. May 14, 2013
  19. May 08, 2013
  20. Apr 30, 2013
  21. Apr 27, 2013
    • Ulrich Weigand's avatar
      · e037a492
      Ulrich Weigand authored
      Handle tied sub-operands in AsmMatcherEmitter
      
      The problem this patch addresses is the handling of register tie
      constraints in AsmMatcherEmitter, where one operand is tied to a
      sub-operand of another operand.  The typical scenario for this to
      happen is the tie between the "write-back" register of a pre-inc
      instruction, and the base register sub-operand of the memory address
      operand of that instruction.
      
      The current AsmMatcherEmitter code attempts to handle tied
      operands by emitting the operand as usual first, and emitting
      a CVT_Tied node when handling the second (tied) operand.  However,
      this really only works correctly if the tied operand does not
      have sub-operands (and isn't a sub-operand itself).  Under those
      circumstances, a wrong MC operand list is generated.
      
      In discussions with Jim Grosbach, it turned out that the MC operand
      list really ought not to contain tied operands in the first place;
      instead, it ought to consist of exactly those operands that are
      named in the AsmString.  However, getting there requires significant
      rework of (some) targets.
      
      This patch fixes the immediate problem, and at the same time makes
      one (small) step in the direction of the long-term solution, by
      implementing two changes:
      
      1. Restricts the AsmMatcherEmitter handling of tied operands to
         apply solely to simple operands (not complex operands or
         sub-operand of such).
      
      This means that at least we don't get silently corrupt MC operand
      lists as output.  However, if we do have tied sub-operands, they
      would now no longer be handled at all, except for:
      
      2. If we have an operand that does not occur in the AsmString,
         and also isn't handled as tied operand, simply emit a dummy
         MC operand (constant 0).
      
      This works as long as target code never attempts to access
      MC operands that do no not occur in the AsmString (and are
      not tied simple operands), which happens to be the case for
      all targets where this situation can occur (ARM and PowerPC).
      
      [ Note that this change means that many of the ARM custom
        converters are now superfluous, since the implement the
        same "hack" now performed already by common code. ]
      
      Longer term, we ought to fix targets to never access *any*
      MC operand that does not occur in the AsmString (including
      tied simple operands), and then finally completely remove
      all such operands from the MC operand list.
      
      Patch approved by Jim Grosbach.
      
      llvm-svn: 180677
      e037a492
  22. Apr 26, 2013
    • Michael Gottesman's avatar
      Use 'git svn find-rev' in git-svnrevert instead of shell script fu. · 68be5200
      Michael Gottesman authored
      Thanks Chandler!
      
      llvm-svn: 180592
      68be5200
    • Michael Gottesman's avatar
      Added the scripts git-svnup/git-svnrevert to utils/git-svn. · d8134208
      Michael Gottesman authored
      It makes more sense to have git-svnup here than catting said file in the
      documentation (where we should rather point users to this directory).
      I included git-svnrevert as an additional gift to the community. I will update
      the documentation in a second commit later today.
      
      git-svnrevert takes in a git hash for a commit, looks up the svn revision for
      said commit and then creates the normal git revert commit message with the one
      liner message, except instead of saying
      
        Revert "<<<INSERT ONELINER HERE>>>"
      
        This reverts commit <<<INSERT GITHASH HERE>>>
      
      It says:
      
        Revert "<<<INSERT ONELINER HERE>>>"
      
        This reverts commit r<<<INSERT SVN REVISION HERE>>>
      
      so git hashes will not escape into our svn logs (which just look unseemly).
      
      llvm-svn: 180587
      d8134208
Loading