Skip to content
  1. Sep 05, 2015
    • Andrew Wilkins's avatar
      [cmake] rework LLVM_LINK_LLVM_DYLIB option handling · bb6d95fc
      Andrew Wilkins authored
      Summary:
      This diff attempts to address the concerns raised in
      http://reviews.llvm.org/D12488.
      
      We introduce a new USE_SHARED option to llvm_config,
      which, if set, causes the target to be linked against
      libLLVM.
      
      add_llvm_utility now uniformly disables linking against
      libLLVM. These utilities are not intended for distribution,
      and this keeps the option handling more centralised.
      
      llvm-shlib is now processes before any other "tools"
      subdirectories, ensuring the libLLVM target is defined
      before its dependents.
      
      One main difference from what was requested: llvm_config
      does not prune LLVM_DYLIB_COMPONENTS from the components
      passed into explicit_llvm_config. This is because the "all"
      component does something special, adding additional
      libraries (namely libLTO). Adding the component libraries
      after libLLVM should not be a problem, as symbols will be
      resolved in libLLVM first.
      
      Finally, I'm not really happy with the
      DISABLE_LLVM_LINK_LLVM option, but I'm not sure of a
      better way to get the following:
       - link all tools and shared libraries to libLLVM if
         LLVM_LINK_LLVM_DYLIB is set
       - some way of explicitly *not* doing so for utilities
         and libLLVM itself
      Suggestions for improvement here are particularly welcome.
      
      Reviewers: beanz
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D12590
      
      llvm-svn: 246918
      bb6d95fc
    • Craig Topper's avatar
      Fix build warning. · 02a55d70
      Craig Topper authored
      llvm-svn: 246908
      02a55d70
    • NAKAMURA Takumi's avatar
      WinCOFFObjectWriter.cpp: Roll back TimeDateStamp along ENABLE_TIMESTAMPS. · 2f9e8c05
      NAKAMURA Takumi authored
      We want a deterministic output. GNU AS leaves it zero.
      
      FIXME: It may be optional by its user, like llc and clang.
      llvm-svn: 246905
      2f9e8c05
    • Davide Italiano's avatar
      [MC] Convert other MachO tests from macho-dump to llvm-readobj. · 591b5a5e
      Davide Italiano authored
      This commit accomplish two goals:
      1) it's a step forward to deprecate macho-dump, now less than 40 tests
      rely on it.
      
      2) It tests all the MachO specific features introduced in llvm-readobj in
      the following commits:  r246789, r246665, r246474.
      
      While the conversion is mostly mechanical (I double-checked all the
      tests output one by one, but still), a post-commit review is greatly
      appreciated.
      
      llvm-svn: 246904
      591b5a5e
    • Andrew Kaylor's avatar
      Fix build warning · 2a9a6d8c
      Andrew Kaylor authored
      llvm-svn: 246903
      2a9a6d8c
    • Hal Finkel's avatar
      [PowerPC] Fix and(or(x, c1), c2) -> rlwimi generation · b1518d6c
      Hal Finkel authored
      PPCISelDAGToDAG has a transformation that generates a rlwimi instruction from
      an input pattern that looks like this:
      
        and(or(x, c1), c2)
      
      but the associated logic does not work if there are bits that are 1 in c1 but 0
      in c2 (these are normally canonicalized away, but that can't happen if the 'or'
      has other users. Make sure we abort the transformation if such bits are
      discovered.
      
      Fixes PR24704.
      
      llvm-svn: 246900
      b1518d6c
    • Andrew Kaylor's avatar
      Fix build warning · a212aba6
      Andrew Kaylor authored
      llvm-svn: 246899
      a212aba6
    • Evgeniy Stepanov's avatar
      Fix passed env var name in lit for Android tests. · 4dd71045
      Evgeniy Stepanov authored
      The variable is actually called ANDROID_SERIAL.
      This was not exercised on the bots until today.
      Should fix the sanitizer-x86_64-linux failures.
      
      llvm-svn: 246898
      4dd71045
    • Andrew Kaylor's avatar
      Fixing bad test syntax. · a89baa21
      Andrew Kaylor authored
      llvm-svn: 246897
      a89baa21
    • Andrew Kaylor's avatar
      [WinEH] Teach SimplfyCFG to eliminate empty cleanup pads. · 50e4e86c
      Andrew Kaylor authored
      Differential Revision: http://reviews.llvm.org/D12434
      
      llvm-svn: 246896
      50e4e86c
    • Kostya Serebryany's avatar
      [libFuzzer] more accurate logic for traces, 80-char fix · e641dd64
      Kostya Serebryany authored
      llvm-svn: 246888
      e641dd64
  2. Sep 04, 2015
  3. Sep 03, 2015
    • Philip Reames's avatar
    • Philip Reames's avatar
      [RewriteStatepointsForGC] Strengthen invariants around BDVs · f5b8e476
      Philip Reames authored
      As a first step towards a new implementation of the base pointer inference algorithm, introduce an abstraction for BDVs, strengthen the assertions around them, and rewrite the BDV relation code in terms of the abstraction which includes an explicit notion of whether the BDV is also a base. The later is motivated by the fact we had a bug where insertelement was always assumed to be a base pointer even though the BDV code knew it wasn't. The strengthened assertions in this patch would have caught that bug.
      
      The next step will be to separate the DefiningValueMap into a BDV use list cache (entirely within findBasePointers) and a base pointer cache. Having the former will allow me to use a deterministic visit order when visiting BDVs in the inference algorithm and remove a bunch of ordering related hacks. Before actually doing the last step, I'm likely going to extend the lattice with a 'BaseN' (seen only base inputs) state so that I can kill the post process optimization step.
      
      Phabricator Revision: http://reviews.llvm.org/D12608
      
      llvm-svn: 246809
      f5b8e476
    • Kostya Serebryany's avatar
    • Hal Finkel's avatar
      [PowerPC] Include the permutation cost for unaligned vector loads · f11bc761
      Hal Finkel authored
      Pre-P8, when we generate code for unaligned vector loads (for Altivec and QPX
      types), even when accounting for the combining that takes place for multiple
      consecutive such loads, there is at least one load instructions and one
      permutation for each load. Make sure the cost reported reflects the cost of the
      permutes as well.
      
      llvm-svn: 246807
      f11bc761
    • Hal Finkel's avatar
      [PowerPC] Compute the MMO offset for an unaligned load with signed arithmetic · 99d95328
      Hal Finkel authored
      If you compute the MMO offset using unsigned arithmetic, you end up with a
      large positive offset instead of a small negative one. In theory, this could
      cause bad instruction-scheduling decisions later.
      
      I noticed this by inspection from the debug output, and using that for the
      regression test is the best I can do right now.
      
      llvm-svn: 246805
      99d95328
    • Philip Reames's avatar
      [RewriteStatepointsForGC] Workaround a lack of determinism in visit order · 246e618e
      Philip Reames authored
      The visit order being used in the base pointer inference algorithm is currently non-deterministic.  When working on http://reviews.llvm.org/D12583, I discovered that we were relying on a peephole optimization to get deterministic ordering in one of the test cases.  
      
      This change is intented to let me test and land http://reviews.llvm.org/D12583.  The current code will not be long lived.  I'm starting to investigate a rewrite of the algorithm which will combine the post-process step into the initial algorithm and make the visit order determistic.  Before doing that, I wanted to make sure the existing code was complete and the test were stable.  Hopefully, patches should be up for review for the new algorithm this week or early next.
      
      llvm-svn: 246801
      246e618e
    • Kostya Serebryany's avatar
      [libFuzzer] adding a parser for AFL-style dictionaries + tests. · 9838b2be
      Kostya Serebryany authored
      llvm-svn: 246800
      9838b2be
    • Reid Kleckner's avatar
      [sancov] Disable sanitizer coverage on functions using SEH · df52337b
      Reid Kleckner authored
      Splitting basic blocks really messes up WinEHPrepare. We can remove this
      change when SEH uses the new EH IR.
      
      llvm-svn: 246799
      df52337b
    • Jon Roelofs's avatar
      llvm.vim: 'musttail' is a keyword too · 32eeb76a
      Jon Roelofs authored
      llvm-svn: 246798
      32eeb76a
    • Dan Liew's avatar
      Try to clarify the semantics of fptrunc · 50456fb9
      Dan Liew authored
      * ``the value cannot fit within the destination type`` is ambiguous.
        It could mean overflow, underflow (not in the IEEE-754 sense) or a
        result that cannot be exactly represented and requires rounding or it
        could mean some combination of these. The semantics now state it means
        overflow **only**.
      
      * Using "truncation" in the semantics is very misleading given that it
        doesn't necessarily truncate (i.e. round to zero). For example on
        x86_64 with SSE2 this is currently mapped to cvtsd2ss instruction
        who's rounding behaviour is dependent on the MXCSR register which
        is usually set to round to nearest even by default. The semantics
        now state that the rounding mode is undefined.
      
      llvm-svn: 246792
      50456fb9
    • Chad Rosier's avatar
      [AArch64] Improve ISel using across lane addition reduction. · 6c36eff1
      Chad Rosier authored
      In vectorized add reduction code, the final "reduce" step is sub-optimal.
      This change wll combine :
      
      ext  v1.16b, v0.16b, v0.16b, #8
      add  v0.4s, v1.4s, v0.4s
      dup  v1.4s, v0.s[1]
      add  v0.4s, v1.4s, v0.4s
      
      into
      
      addv s0, v0.4s
      
      PR21371
      http://reviews.llvm.org/D12325
      Patch by Jun Bum Lim <junbuml@codeaurora.org>!
      
      llvm-svn: 246790
      6c36eff1
    • Davide Italiano's avatar
      [llvm-readobj] Dump MachO indirect symbols. · 4410b22c
      Davide Italiano authored
      Example output:
      
      File: <stdin>
      Format: Mach-O 32-bit i386
      Arch: i386
      AddressSize: 32bit
      Indirect Symbols {
      
      Number: 3
      Symbols [
        Entry {
          Entry Index: 0
          Symbol Index: 0x4
        }
        Entry {
          Entry Index: 1
          Symbol Index: 0x0
        }
        Entry {
          Entry Index: 2
          Symbol Index: 0x1
        }
      ]
      }
      
      Differential Revision:	http://reviews.llvm.org/D12570
      
      llvm-svn: 246789
      4410b22c
Loading