Skip to content
  1. Jun 30, 2016
    • Matthias Braun's avatar
      RegisterScavenging: Code cleanup; NFC · f7493393
      Matthias Braun authored
      - Use range based for loops
      - No need for some !Reg checks: isPhysicalRegister() reports false for
        NoRegister anyway
      - Do not repeat function name in documentation comment.
      - Do not repeat documentation comment in implementation when we already
        have one at the declaration.
      - Factor some common subexpressions out.
      - Change file comments to use doxygen syntax.
      
      llvm-svn: 274194
      f7493393
    • Duncan P. N. Exon Smith's avatar
      CodeGen: Add an explicit BuildMI overload for MachineInstr& · 1bc348a9
      Duncan P. N. Exon Smith authored
      Add an explicit overload to BuildMI for MachineInstr& to deal with
      insertions inside of instruction bundles.
      
      - Use it to re-implement MachineInstr* to give it coverage.
      
      - Document how the overload for MachineBasicBlock::instr_iterator
        differs from that for MachineBasicBlock::iterator (the previous
        (implicit) overload for MachineInstr&).
      
      - Add a comment explaining why the MachineInstr& and MachineInstr*
        overloads don't universally forward to the
        MachineBasicBlock::instr_iterator overload.
      
      Thanks to Justin for noticing the API quirk.  While this doesn't fix any
      known bugs -- all uses of BuildMI with a MachineInstr& were previously
      using MachineBasicBlock::iterator -- it protects against future bugs.
      
      llvm-svn: 274193
      1bc348a9
    • Sanjay Patel's avatar
      add vector tests to show missing transform · 348111f4
      Sanjay Patel authored
      llvm-svn: 274192
      348111f4
    • Marcin Koscielnicki's avatar
      [SystemZ] Split up PerformDAGCombine. [NFC] · 68747ac7
      Marcin Koscielnicki authored
      This function is already a bit too long, and I'm about to make it worse.
      
      llvm-svn: 274191
      68747ac7
    • Duncan P. N. Exon Smith's avatar
      CodeGen: Use MachineInstr& in TargetInstrInfo, NFC · 9cfc75c2
      Duncan P. N. Exon Smith authored
      This is mostly a mechanical change to make TargetInstrInfo API take
      MachineInstr& (instead of MachineInstr* or MachineBasicBlock::iterator)
      when the argument is expected to be a valid MachineInstr.  This is a
      general API improvement.
      
      Although it would be possible to do this one function at a time, that
      would demand a quadratic amount of churn since many of these functions
      call each other.  Instead I've done everything as a block and just
      updated what was necessary.
      
      This is mostly mechanical fixes: adding and removing `*` and `&`
      operators.  The only non-mechanical change is to split
      ARMBaseInstrInfo::getOperandLatencyImpl out from
      ARMBaseInstrInfo::getOperandLatency.  Previously, the latter took a
      `MachineInstr*` which it updated to the instruction bundle leader; now,
      the latter calls the former either with the same `MachineInstr&` or the
      bundle leader.
      
      As a side effect, this removes a bunch of MachineInstr* to
      MachineBasicBlock::iterator implicit conversions, a necessary step
      toward fixing PR26753.
      
      Note: I updated WebAssembly, Lanai, and AVR (despite being
      off-by-default) since it turned out to be easy.  I couldn't run tests
      for AVR since llc doesn't link with it turned on.
      
      llvm-svn: 274189
      9cfc75c2
    • Sanjay Patel's avatar
      regenerate checks · c3701e8b
      Sanjay Patel authored
      llvm-svn: 274188
      c3701e8b
    • Matthias Braun's avatar
      PrologEpilogInserter: Some code cleanup; NFC · 14cdab64
      Matthias Braun authored
      - Use range based for
      - Use the more common variable names MBB and MF for
        MachineBasicBlock/MachineFunction variables.
      - Add a few const modifiers
      
      llvm-svn: 274187
      14cdab64
    • Peter Collingbourne's avatar
      Add move constructor and move assignment to fix MSVC build. · 06807812
      Peter Collingbourne authored
      llvm-svn: 274186
      06807812
    • Peter Collingbourne's avatar
      Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. · 8ec68fad
      Peter Collingbourne authored
      The NewArchiveIterator class has a problem: it requires too much context. Any
      memory buffers added to the archive must be stored within an Archive::Member,
      which must have an associated Archive. This makes it harder than necessary
      to create new archive members (or new archives entirely) from scratch using
      memory buffers.
      
      This patch replaces NewArchiveIterator with a NewArchiveMember class that
      stores just the memory buffer and the information that goes into the archive
      member header.
      
      Differential Revision: http://reviews.llvm.org/D21721
      
      llvm-svn: 274183
      8ec68fad
    • Adam Nemet's avatar
      [LV] Improve accuracy and formatting of function comment · e1af3c63
      Adam Nemet authored
      llvm-svn: 274182
      e1af3c63
  2. Jun 29, 2016
Loading