Skip to content
  1. Nov 12, 2012
    • Hal Finkel's avatar
      BBVectorize: Use a more sophisticated check for input cost · 9cf33729
      Hal Finkel authored
      The old checking code, which assumed that input shuffles and insert-elements
      could always be folded (and thus were free) is too simple.
      This can only happen in special circumstances.
      Using the simple check caused infinite recursion.
      
      llvm-svn: 167750
      9cf33729
    • Andrew Trick's avatar
      misched: Target-independent support for MacroFusion. · 26328024
      Andrew Trick authored
      Uses the infrastructure from r167742 to support clustering instructure
      that the target processor can "fuse". e.g. cmp+jmp.
      
      Next step: target hook implementations with test cases, and enable.
      
      llvm-svn: 167744
      26328024
    • Hal Finkel's avatar
      BBVectorize: Check the types of compare instructions · f8326b60
      Hal Finkel authored
      The pass would previously assert when trying to compute the cost of
      compare instructions with illegal vector types (like struct pointers).
      
      llvm-svn: 167743
      f8326b60
    • Andrew Trick's avatar
      misched: Target-independent support for load/store clustering. · a7714a0f
      Andrew Trick authored
      This infrastructure is generally useful for any target that wants to
      strongly prefer two instructions to be adjacent after scheduling.
      
      A following checkin will add target-specific hooks with unit
      tests. Then this feature will be enabled by default with misched.
      
      llvm-svn: 167742
      a7714a0f
    • Shuxin Yang's avatar
      This change is to fix rdar://12571717 which is about assertion in Reassociate pass. · 1c442f5e
      Shuxin Yang authored
      The assertion is trigged when the Reassociater tries to transform expression
           ... + 2 * n * 3 + 2 * m + ...
        into:
           ... + 2 * (n*3 + m).
      
      In the process of the transformation, a helper routine folds the constant 2*3 into 6,
      confusing optimizer which is trying the to eliminate the common factor 2, and cannot
      find 2 any more. 
      
      Review is pending. But I'd like commit first in order to help those who are waiting 
      for this fix. 
      
      llvm-svn: 167740
      1c442f5e
    • Andrew Trick's avatar
      misched: Infrastructure for weak DAG edges. · f1ff84c6
      Andrew Trick authored
      This adds support for weak DAG edges to the general scheduling
      infrastructure in preparation for MachineScheduler support for
      heuristics based on weak edges.
      
      llvm-svn: 167738
      f1ff84c6
    • Ulrich Weigand's avatar
      2c93acdf
    • Hal Finkel's avatar
      BBVectorize: Check the input types of shuffles for legality · ef53df0f
      Hal Finkel authored
      This fixes a bug where shuffles were being fused such that the
      resulting input types were not legal on the target. This would
      occur only when both inputs and dependencies were also foldable
      operations (such as other shuffles) and there were other connected
      pairs in the same block.
      
      llvm-svn: 167731
      ef53df0f
    • Alexey Samsonov's avatar
      afc550d9
    • Alexey Samsonov's avatar
      Fixup for r167558: Store raw pointer (instead of reference) to RelocMap in... · 9cb13d59
      Alexey Samsonov authored
      Fixup for r167558: Store raw pointer (instead of reference) to RelocMap in DIContext. This is needed to prevent crashes because of dangling reference if the clients don't provide RelocMap to DIContext constructor.
      
      llvm-svn: 167728
      9cb13d59
    • Meador Inge's avatar
      Normalize memcmp constant folding results. · b3e91f6a
      Meador Inge authored
      The library call simplifier folds memcmp calls with all constant arguments
      to a constant.  For example:
      
        memcmp("foo", "foo", 3) ->  0
        memcmp("hel", "foo", 3) ->  1
        memcmp("foo", "hel", 3) -> -1
      
      The folding is implemented in terms of the system memcmp that LLVM gets
      linked with.  It currently just blindly uses the value returned from
      the system memcmp as the folded constant.
      
      This patch normalizes the values returned from the system memcmp to
      (-1, 0, 1) so that we get consistent results across multiple platforms.
      The test cases were adjusted accordingly.
      
      llvm-svn: 167726
      b3e91f6a
    • Alexey Samsonov's avatar
      [ASan]: Add minimalistic support for turning off initialization-order checking... · 582d7de7
      Alexey Samsonov authored
      [ASan]: Add minimalistic support for turning off initialization-order checking for globals of specified types. Tests for this behavior will go to ASan test suite in compiler-rt.
      
      llvm-svn: 167725
      582d7de7
    • Eric Christopher's avatar
      Remove unused field. · 16631130
      Eric Christopher authored
      llvm-svn: 167719
      16631130
    • Michael Liao's avatar
      Fix PR14314 · d39c0fb1
      Michael Liao authored
      - Fix operand order for atomic sub, where the minuend is the value
        loaded from memory and the subtrahend is the parameter specified.
      
      llvm-svn: 167718
      d39c0fb1
    • Justin Holewinski's avatar
      [NVPTX] Add more precise PTX/SM target attributes · 1812ee9a
      Justin Holewinski authored
      Each SM and PTX version is modeled as a subtarget feature/CPU. Additionally,
      PTX 3.1 is added as the default PTX version to be out-of-the-box compatible
      with CUDA 5.0.
      
      Available CPUs for this target:
      
        sm_10 - Select the sm_10 processor.
        sm_11 - Select the sm_11 processor.
        sm_12 - Select the sm_12 processor.
        sm_13 - Select the sm_13 processor.
        sm_20 - Select the sm_20 processor.
        sm_21 - Select the sm_21 processor.
        sm_30 - Select the sm_30 processor.
        sm_35 - Select the sm_35 processor.
      
      Available features for this target:
      
        ptx30 - Use PTX version 3.0.
        ptx31 - Use PTX version 3.1.
        sm_10 - Target SM 1.0.
        sm_11 - Target SM 1.1.
        sm_12 - Target SM 1.2.
        sm_13 - Target SM 1.3.
        sm_20 - Target SM 2.0.
        sm_21 - Target SM 2.1.
        sm_30 - Target SM 3.0.
        sm_35 - Target SM 3.5.
      
      llvm-svn: 167699
      1812ee9a
    • Meador Inge's avatar
      Delete a stale comment. No functional change. · f963a8ff
      Meador Inge authored
      llvm-svn: 167698
      f963a8ff
  2. Nov 11, 2012
  3. Nov 10, 2012
  4. Nov 09, 2012
Loading