Permalink
Commits on Jul 4, 2012
  1. Fix test failures. Currently, test/CodeGen/X86/early-ifcvt.ll fails, …

    krasin committed Jul 4, 2012
    …but it's unclear why
  2. Allow multiple terminators to read virtual registers.

    stoklund committed Jul 4, 2012
    Find the kill as the last terminator to read SrcReg.
    
    Patch by Philipp Brüschweiler!
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159722 91177308-0d34-0410-b5e6-96231b3b80d8
  3. Ensure CopyToReg nodes are always glued to the call instruction.

    stoklund committed Jul 4, 2012
    The CopyToReg nodes that set up the argument registers before a call
    must be glued to the call instruction. Otherwise, the scheduler may emit
    the physreg copies long before the call, causing long live ranges for
    the fixed registers.
    
    Besides disabling good register allocation, that can also expose
    problems when EmitInstrWithCustomInserter() splits a basic block during
    the live range of a physreg.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159721 91177308-0d34-0410-b5e6-96231b3b80d8
  4. Add a testcase for pr13209. It is not a great test, but it still fail…

    espindola committed Jul 4, 2012
    …s if
    
    159509 and 159479 are reverted. It would be really nice to be able to run
    just the coalescer :-(
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159715 91177308-0d34-0410-b5e6-96231b3b80d8
  5. Fix a bug in DebugInfo lib, extend a comment for one of the methods

    Alexey Samsonov committed Jul 4, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159707 91177308-0d34-0410-b5e6-96231b3b80d8
  6. Reverted r159658:

    kaomoneus committed Jul 4, 2012
    Optimized diff operation: implemented the case when LHS and RHS subsets contains single numbers only.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159704 91177308-0d34-0410-b5e6-96231b3b80d8
  7. Reverted r156659, due to probable performance regressions, DenseMap s…

    kaomoneus committed Jul 4, 2012
    …hould be used here:
    
      IntegersSubsetMapping
      - Replaced type of Items field from std::list with std::map. In neares future I'll test it with DenseMap and do the correspond replacement
        if possible.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159703 91177308-0d34-0410-b5e6-96231b3b80d8
  8. Reduce some code duplication.

    echristo committed Jul 4, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159701 91177308-0d34-0410-b5e6-96231b3b80d8
  9. Fix some ascii art in a comment to not have trailing backslashes (ins…

    Matt Beaumont-Gay committed Jul 4, 2012
    …piration
    
    from IfConversion.cc), and fix some spelling and grammar in the surrounding
    prose.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159699 91177308-0d34-0410-b5e6-96231b3b80d8
  10. Add early if-conversion support to X86.

    stoklund committed Jul 4, 2012
    Implement the TII hooks needed by EarlyIfConversion to create cmov
    instructions and estimate their latency.
    
    Early if-conversion is still not enabled by default.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159695 91177308-0d34-0410-b5e6-96231b3b80d8
  11. Add an experimental early if-conversion pass, off by default.

    stoklund committed Jul 4, 2012
    This pass performs if-conversion on SSA form machine code by
    speculatively executing both sides of the branch and using a cmov
    instruction to select the result. This can help lower the number of
    branch mispredictions on architectures like x86 that don't have
    predicable instructions.
    
    The current implementation is very aggressive, and causes regressions on
    mosts tests. It needs good heuristics that have yet to be implemented.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159694 91177308-0d34-0410-b5e6-96231b3b80d8
Commits on Jul 3, 2012
  1. PHINode::hasConstantValue(): return undef if the PHI is fully recursive.

    nunoplopes committed Jul 3, 2012
    Thanks Duncan for the idea
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159687 91177308-0d34-0410-b5e6-96231b3b80d8
  2. Use the DebugInfo's 'print()' method to emit the comments.

    isanbard committed Jul 3, 2012
    These give quite a bit more information about the DebugInfo and makes it more
    readable.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159680 91177308-0d34-0410-b5e6-96231b3b80d8
  3. BoundsChecking: optimize out the check for offset < 0 if size is know…

    nunoplopes committed Jul 3, 2012
    …n to be >= 0 (signed).
    
    (LLVM optimizers cannot do this optimization by themselves)
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159668 91177308-0d34-0410-b5e6-96231b3b80d8
  4. fold PHI nodes in SizeOffsetEvaluator whenever possible.

    nunoplopes committed Jul 3, 2012
    Unfortunately this change requires the cache map to hold WeakVHs instead
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159667 91177308-0d34-0410-b5e6-96231b3b80d8
  5. improve PHINode::hasConstantValue() to detect recursive cases like %p…

    nunoplopes committed Jul 3, 2012
    …hi = phi(%phi,42) as constant
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159666 91177308-0d34-0410-b5e6-96231b3b80d8
  6. IntegersSubsetMappin: cosmetic changes in diff operation.

    kaomoneus committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159661 91177308-0d34-0410-b5e6-96231b3b80d8
  7. Part of r159527. Splitted into series of patches and gone with fixed …

    kaomoneus committed Jul 3, 2012
    …PR13256:
    
      IntegersSubsetMapping
      Added new methods
      - add(self& RHS, SuccessorClass *S)
      - detachCase
      - removeCase
      - findSuccessor
      - getCases
      - getCaseSingleNumber
      - isOverlapped
      
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159660 91177308-0d34-0410-b5e6-96231b3b80d8
  8. Part of r159527. Splitted into series of patches and gone with fixed …

    kaomoneus committed Jul 3, 2012
    …PR13256:
    
      IntegersSubsetMapping
      - Replaced type of Items field from std::list with std::map. In neares future I'll test it with DenseMap and do the correspond replacement
        if possible.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159659 91177308-0d34-0410-b5e6-96231b3b80d8
  9. Part of r159527. Splitted into series of patches and gone with fixed …

    kaomoneus committed Jul 3, 2012
    …PR13256:
    
    Optimized diff operation: implemented the case when LHS and RHS subsets contains single numbers only.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159658 91177308-0d34-0410-b5e6-96231b3b80d8
  10. Document the llvm.fabs intrinsic.

    pcc committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159657 91177308-0d34-0410-b5e6-96231b3b80d8
  11. Micro-optimize this function a bit. This shrinks the generated code

    chandlerc committed Jul 3, 2012
    some, and allows the routine to be inlined into common callers. The
    various bits that hit this code in their hotpath seem slightly lower on
    the profile, but I can't really measure a performance improvement as
    everything seems to still be bottlenecked on likely cache misses. =/
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159648 91177308-0d34-0410-b5e6-96231b3b80d8
  12. Remove extra space.

    topperc committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159647 91177308-0d34-0410-b5e6-96231b3b80d8
  13. Change i128mem/i256mem to f128mem/f256mem on some floating point vect…

    topperc committed Jul 3, 2012
    …or instructions.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159646 91177308-0d34-0410-b5e6-96231b3b80d8
  14. Add aliases for pblendvb, blendvpd, and blendvps instructions with th…

    topperc committed Jul 3, 2012
    …e implicit xmm0 operand specified. Fixes PR13252.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159644 91177308-0d34-0410-b5e6-96231b3b80d8
  15. test/CodeGen/SPARC/private.ll: FileCheck-ize.

    chapuni committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159642 91177308-0d34-0410-b5e6-96231b3b80d8
  16. llvm/test/lit.cfg: Retweak for Win32 to fix testing.

    chapuni committed Jul 3, 2012
      - execute_external should be;
        - Not on Win32.
        - Using bash.
        In reverse, "execute_internal" shoud be (Win32 && !bash).
    
      - lit.getBashPath() behaves differently before and after tweaking $PATH.
    
    I will add a few explanations there later.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159641 91177308-0d34-0410-b5e6-96231b3b80d8
  17. MCContext::GetDwarfFile(): Make FileName parsing tolerant of DOSish p…

    chapuni committed Jul 3, 2012
    …athsep with PathV2.
    
    It fixes failure in test/MC/MachO/gen-dwarf.s on Win32 w/o bash.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159640 91177308-0d34-0410-b5e6-96231b3b80d8
  18. test/CodeGen/X86/sincos.ll: FileCheck-ize.

    chapuni committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159639 91177308-0d34-0410-b5e6-96231b3b80d8
  19. test/CodeGen/X86/fabs.ll: FileCheck-ize.

    chapuni committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159638 91177308-0d34-0410-b5e6-96231b3b80d8
  20. test/CodeGen/X86/2007-09-05-InvalidAsm.ll: FileCheck-ize.

    chapuni committed Jul 3, 2012
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159637 91177308-0d34-0410-b5e6-96231b3b80d8