Skip to content
  1. Jul 29, 2016
    • Teresa Johnson's avatar
      Capture stderr when checking for gold version · 7de70738
      Teresa Johnson authored
      On MacOS the ld version is emitted to stderr, resulting in lots of
      messages in the ninja check output.
      
      llvm-svn: 277092
      7de70738
    • Piotr Padlewski's avatar
      Fixed comment · c7a15146
      Piotr Padlewski authored
      llvm-svn: 277091
      c7a15146
    • Piotr Padlewski's avatar
      Added ThinLTO inlining statistics · 84abc74f
      Piotr Padlewski authored
      Summary:
      copypasta doc of ImportedFunctionsInliningStatistics class
       \brief Calculate and dump ThinLTO specific inliner stats.
       The main statistics are:
       (1) Number of inlined imported functions,
       (2) Number of imported functions inlined into importing module (indirect),
       (3) Number of non imported functions inlined into importing module
       (indirect).
       The difference between first and the second is that first stat counts
       all performed inlines on imported functions, but the second one only the
       functions that have been eventually inlined to a function in the importing
       module (by a chain of inlines). Because llvm uses bottom-up inliner, it is
       possible to e.g. import function `A`, `B` and then inline `B` to `A`,
       and after this `A` might be too big to be inlined into some other function
       that calls it. It calculates this statistic by building graph, where
       the nodes are functions, and edges are performed inlines and then by marking
       the edges starting from not imported function.
      
       If `Verbose` is set to true, then it also dumps statistics
       per each inlined function, sorted by the greatest inlines count like
       - number of performed inlines
       - number of performed inlines to importing module
      
      Reviewers: eraman, tejohnson, mehdi_amini
      
      Subscribers: mehdi_amini, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D22491
      
      llvm-svn: 277089
      84abc74f
    • Justin Lebar's avatar
      Revert "Don't invoke getName() from Function::isIntrinsic().", rL276942. · 9cbc3010
      Justin Lebar authored
      This broke some out-of-tree AMDGPU tests that relied on the old behavior
      wherein isIntrinsic() would return true for any function that starts
      with "llvm.".  And in general that change will not play nicely with
      out-of-tree backends.
      
      llvm-svn: 277087
      9cbc3010
    • Evgeniy Stepanov's avatar
      [sanitizer] Simplify and future-proof maybeMarkSanitizerLibraryCallNoBuiltin(). · d240a889
      Evgeniy Stepanov authored
      Sanitizers set nobuiltin attribute on certain library functions to
      avoid a situation where such function is neither instrumented nor
      intercepted.
      
      At the moment the list of interesting functions is hardcoded. This
      change replaces it with logic based on
      TargetLibraryInfo::hasOptimizedCodegen and the presense of readnone
      function attribute (sanitizers are generally interested in memory
      behavior of library functions).
      
      This is expected to be a no-op change: the new logic matches exactly
      the same set of functions.
      
      r276771 (currently reverted) added mempcpy() to the list, breaking
      MSan tests. With this change, r276771 can be safely re-landed.
      
      llvm-svn: 277086
      d240a889
    • Sanjoy Das's avatar
      [IR] Introduce a non-integral pointer type · c6af5ead
      Sanjoy Das authored
      Summary:
      This change adds a `ni` specifier in the `datalayout` string to denote
      pointers in some given address spaces as "non-integral", and adds some
      typing rules around these special pointers.
      
      Reviewers: majnemer, chandlerc, atrick, dberlin, eli.friedman, tstellarAMD, arsenm
      
      Subscribers: arsenm, mcrosier, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D22488
      
      llvm-svn: 277085
      c6af5ead
    • Adam Nemet's avatar
      [BPI] Add new LazyBPI analysis · aa3506c5
      Adam Nemet authored
      Summary:
      The motivation is the same as in D22141: In order to add the hotness
      attribute to optimization remarks we need BFI to be available in all
      passes that emit optimization remarks.  BFI depends on BPI so unless we
      make this lazy as well we would still compute BPI unconditionally.
      
      The solution is to use the new LazyBPI pass in LazyBFI and only compute
      BPI when computation of BFI is requested by the client.
      
      I extended the laziness test using a LoopDistribute test to also cover
      BPI.
      
      Reviewers: hfinkel, davidxl
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D22835
      
      llvm-svn: 277083
      aa3506c5
    • Changpeng Fang's avatar
      AMDGPU/SI: Don't handle a loop if there is no loop at all for a terminator BB. · 26fb9d26
      Changpeng Fang authored
      Differential Revision: http://reviews.llvm.org/D22021
      
      Reviewed by: arsenm
      
      llvm-svn: 277073
      26fb9d26
    • Vitaly Buka's avatar
      Do not remove empty lifetime.start/lifetime.end ranges · 0ab23cf1
      Vitaly Buka authored
      Summary:
      Asan stack-use-after-scope check should poison alloca even if there is
      no access between start and end.
      
      This is possible for code like this:
      for (int i = 0; i < 3; i++) {
        int x;
        p = &x;
      }
      
      "Loop Invariant Code Motion" will move "p = &x;" out of the loop, making
      start/end range empty.
      
      PR27453
      
      Reviewers: eugenis
      
      Differential Revision: https://reviews.llvm.org/D22842
      
      llvm-svn: 277072
      0ab23cf1
    • Vitaly Buka's avatar
      Should be committed as one CL. · 2fae6a77
      Vitaly Buka authored
      This reverts commits r277068 r277067 r277066.
      
      llvm-svn: 277071
      2fae6a77
    • Vitaly Buka's avatar
      [asan] Add const into few methods · 21a9e573
      Vitaly Buka authored
      Summary: No functional changes
      
      Reviewers: eugenis
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D22899
      
      llvm-svn: 277069
      21a9e573
    • Vitaly Buka's avatar
      Do not remove empty lifetime.start/lifetime.end ranges · f0500b6a
      Vitaly Buka authored
      Summary:
      Asan stack-use-after-scope check should poison alloca even if there is
      no access between start and end.
      
      This is possible for code like this:
      for (int i = 0; i < 3; i++) {
        int x;
        p = &x;
      }
      
      "Loop Invariant Code Motion" will move "p = &x;" out of the loop, making
      start/end range empty.
      
      PR27453
      
      Reviewers: eugenis
      
      Differential Revision: https://reviews.llvm.org/D22842
      
      llvm-svn: 277068
      f0500b6a
    • Vitaly Buka's avatar
      maned · 36457938
      Vitaly Buka authored
      llvm-svn: 277067
      36457938
    • Vitaly Buka's avatar
      range · caca9da4
      Vitaly Buka authored
      llvm-svn: 277066
      caca9da4
    • Daniel Berlin's avatar
      Rework CFG simplification in bugpoint · 60606266
      Daniel Berlin authored
      Summary:
      Depends on D22841
      
      We now use a much simpler CFG simplification routine for bugpoint,
      because SimplifyCFG is no longer a good match for what bugpoint wants
      to do.
      
      At the same time, to make sure we don't lose anything valuable it was doing,
      SimplifyCFG is now run as a per-BB reduction pass.
      
      With this and D22841 combined, bugpoint operates both much faster on
      the large testcases i have, and reduces them to pretty much minimal
      testcases (in one case, bugpoint used to leave about 6000 useless blocks, and
      now it leaves 3 ...)
      
      Reviewers: chandlerc, majnemer
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D22845
      
      llvm-svn: 277063
      60606266
    • Michael Kuperstein's avatar
      [PM] Port LowerGuardIntrinsic to the new PM. · e45d4d9b
      Michael Kuperstein authored
      llvm-svn: 277057
      e45d4d9b
  2. Jul 28, 2016
Loading