Skip to content
  1. Mar 25, 2013
  2. Mar 24, 2013
  3. Mar 23, 2013
    • Hal Finkel's avatar
      PPC ZERO register needs a register number of 0. · 915769ed
      Hal Finkel authored
      In order for the new ZERO register to be used with MC, etc. we need to specify
      its register number (0).
      
      Thanks to Kai for reporting the problem!
      
      llvm-svn: 177833
      915769ed
    • Hal Finkel's avatar
      Note in PPCFunctionInfo VRSAVE spills · cc1eeda1
      Hal Finkel authored
      In preparation for using the new register scavenger capability for providing
      more than one register simultaneously, specifically note functions that have
      spilled VRSAVE (currently, this can happen only in functions that use the
      setjmp intrinsic). As with CR spilling, such functions will need to provide two
      emergency spill slots to the scavenger.
      
      No functionality change intended.
      
      llvm-svn: 177832
      cc1eeda1
    • Tobias Grosser's avatar
      RegisterPasses: Improve comments · c2bdf197
      Tobias Grosser authored
      llvm-svn: 177831
      c2bdf197
    • Hal Finkel's avatar
      MCize the bcl instruction in PPCAsmPrinter · f07a8e04
      Hal Finkel authored
      I recently added a BCL instruction definition as part of implementing SjLj
      support. This can also be used to MCize bcl emission in the asm printer.
      
      No functionality change intended.
      
      llvm-svn: 177830
      f07a8e04
    • Jakob Stoklund Olesen's avatar
      Use direct types in Sparc def : Pat patterns. · b1f7c287
      Jakob Stoklund Olesen authored
      The SelectionDAG graph has MVT type labels, not register classes, so
      this makes it clearer what is happening.
      
      This notation is also robust against adding more types to the IntRegs
      register class.
      
      llvm-svn: 177829
      b1f7c287
    • Jakob Stoklund Olesen's avatar
      Allow direct value types in pattern definitions. · d906b903
      Jakob Stoklund Olesen authored
      Just like register classes, value types can be used in two ways in
      patterns:
      
        (sext_inreg i32:$src, i16)
      
      In a named leaf node like i32:$src, the value type simply provides the
      type of the node directly. This simplifies type inference a lot compared
      to the current practice of specifiying types indirectly with register
      classes.
      
      As an unnamed leaf node, like i16 above, the value type represents
      itself as an MVT::Other immediate.
      
      llvm-svn: 177828
      d906b903
    • Hal Finkel's avatar
      Cleanup some unused reg. scavenger parameters in PPCRegisterInfo · c6eaa4ce
      Hal Finkel authored
      These spilling functions will eventually make use of the register scavenger,
      however, they'll do so by taking advantage of PEI's virtual-register-based
      delayed scavenging mechanism. As a result, these function parameters will not
      be used, and can be removed.
      
      No functionality change intended.
      
      llvm-svn: 177827
      c6eaa4ce
    • Howard Hinnant's avatar
      Marshall Clow found some divide-by-zero warnings with UBSan in rand's... · a60ae88d
      Howard Hinnant authored
      Marshall Clow found some divide-by-zero warnings with UBSan in rand's binomial_distribution test.  This eliminates the divide-by-zeros and describes in comments the numerical difficulties the test is having.  Each of the problematic tests are exploring edge cases of the distribution.
      
      llvm-svn: 177826
      a60ae88d
    • Jakob Stoklund Olesen's avatar
      Make all unnamed RegisterClass TreePatternNodes typed MVT::i32. · b5b9110b
      Jakob Stoklund Olesen authored
      A register class can appear as a leaf TreePatternNode with and without a
      name:
      
        (COPY_TO_REGCLASS GPR:$src, F8RC)
      
      In a named leaf node like GPR:$src, the register class provides type
      information for the named variable represented by the node. The TypeSet
      for such a node is the set of value types that the register class can
      represent.
      
      In an unnamed leaf node like F8RC above, the register class represents
      itself as a kind of immediate. Such a node has the type MVT::i32,
      we'll never create a virtual register representing it.
      
      This change makes it possible to remove the special handling of
      COPY_TO_REGCLASS in CodeGenDAGPatterns.cpp.
      
      llvm-svn: 177825
      b5b9110b
    • Howard Hinnant's avatar
      This is a start at making the libc++ test suite friendlier to the... · 65a87ccd
      Howard Hinnant authored
      This is a start at making the libc++ test suite friendlier to the -fnoexceptions flag.  Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled.  The bulk of this code was donated anonymously.
      
      llvm-svn: 177824
      65a87ccd
Loading