Skip to content
  1. May 20, 2012
  2. May 19, 2012
  3. May 18, 2012
    • Jakob Stoklund Olesen's avatar
      Move all work list processing to copyCoalesceWorkList(). · b686a2ce
      Jakob Stoklund Olesen authored
      This will make it possible to filter out erased instructions later.
      
      llvm-svn: 157073
      b686a2ce
    • Nuno Lopes's avatar
      allow LazyValueInfo::getEdgeValue() to reason about multiple edges from the... · ac59380d
      Nuno Lopes authored
      allow LazyValueInfo::getEdgeValue() to reason about multiple edges from the same switch instruction by doing union of ranges (which may still be conservative, but it's more aggressive than before)
      
      llvm-svn: 157071
      ac59380d
    • Jim Grosbach's avatar
      Refactor data-in-code annotations. · 4b63d2ae
      Jim Grosbach authored
      Use a dedicated MachO load command to annotate data-in-code regions.
      This is the same format the linker produces for final executable images,
      allowing consistency of representation and use of introspection tools
      for both object and executable files.
      
      Data-in-code regions are annotated via ".data_region"/".end_data_region"
      directive pairs, with an optional region type.
      
      data_region_directive := ".data_region" { region_type }
      region_type := "jt8" | "jt16" | "jt32" | "jta32"
      end_data_region_directive := ".end_data_region"
      
      The previous handling of ARM-style "$d.*" labels was broken and has
      been removed. Specifically, it didn't handle ARM vs. Thumb mode when
      marking the end of the section.
      
      rdar://11459456
      
      llvm-svn: 157062
      4b63d2ae
    • Nick Kledzik's avatar
      fix warnings when compiling with -Wshadow · 846e6a61
      Nick Kledzik authored
      llvm-svn: 157061
      846e6a61
    • Eric Christopher's avatar
      Remove duplicate code that we could just fallthrough to. · e2b36ce2
      Eric Christopher authored
      llvm-svn: 157060
      e2b36ce2
    • Jakob Stoklund Olesen's avatar
      Simplify RegisterCoalescer::copyCoalesceInMBB(). · b954b91a
      Jakob Stoklund Olesen authored
      It is no longer necessary to separate VirtCopies, PhysCopies, and
      ImpDefCopies. Implicitly defined copies are extremely rare after we
      added the ProcessImplicitDefs pass, and physical register copies are not
      joined any longer.
      
      llvm-svn: 157059
      b954b91a
    • Nuno Lopes's avatar
      add test case for bugfix in r157032 · b63d6cdf
      Nuno Lopes authored
      llvm-svn: 157058
      b63d6cdf
    • Eric Christopher's avatar
      Add support for the mips 'x' inline asm modifier. · 9ca26cfb
      Eric Christopher authored
      Patch by Jack Carter.
      
      llvm-svn: 157057
      9ca26cfb
    • Jakob Stoklund Olesen's avatar
      Remove support for PhysReg joining. · d78d7b05
      Jakob Stoklund Olesen authored
      This has been disabled for a while, and it is not a feature we want to
      support. Copies between physical and virtual registers are eliminated by
      good hinting support in the register allocator. Joining virtual and
      physical registers is really a form of register allocation, and the
      coalescer is not properly equipped to do that. In particular, it cannot
      backtrack coalescing decisions, and sometimes that would cause it to
      create programs that were impossible to register allocate, by exhausting
      a small register class.
      
      It was also very difficult to keep track of the live ranges of aliasing
      registers when extending the live range of a physreg. By disabling
      physreg joining, we can let fixed physreg live ranges remain constant
      throughout the register allocator super-pass.
      
      One type of physreg joining remains: A virtual register that has a
      single value which is a copy of a reserved register can be merged into
      the reserved physreg. This always lowers register pressure, and since we
      don't compute live ranges for reserved registers, there are no problems
      with aliases.
      
      llvm-svn: 157055
      d78d7b05
    • Joel Jones's avatar
      FileCheck-ify, apropos of nothing · f1c120e9
      Joel Jones authored
      llvm-svn: 157051
      f1c120e9
Loading