[PATCH] D19172: New optimization bisect implementation (now modeled on optnone handling)

Kaylor, Andrew via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 22 10:46:11 PDT 2016


I can recommit my patch without support for the new pass manager (the part that's failing).  The new pass manager support is only useful for front ends that are using the new pass manager (and I don't think there are any), so it can probably wait until the TLI issue is resolved.

I wanted to include the new pass manager support so that this feature could mature along with the new pass manager, but if that is going to be a blocking issue I can put it off.

Afterward, I'll look into the feasibility of adding some portion of the new pass manager support in a way that doesn't cause problems.

-Andy

-----Original Message-----
From: Vedant Kumar [mailto:vsk at apple.com] 
Sent: Thursday, April 21, 2016 11:58 PM
To: Kaylor, Andrew <andrew.kaylor at intel.com>; mehdi.amini at apple.com; matze at braunis.de; thomas.stellard at amd.com
Cc: vsk at apple.com; jholewinski at nvidia.com; Matthew.Arsenault at amd.com; daniel.sanders at imgtec.com; mzolotukhin at apple.com; jfb at chromium.org; llvm-commits at lists.llvm.org
Subject: Re: [PATCH] D19172: New optimization bisect implementation (now modeled on optnone handling)

vsk added a subscriber: vsk.
vsk added a comment.

Hi Andrew, we saw an ASan failure after this landed. I've temporarily reverted r267022 to get our bots going again.


================
Comment at: llvm/trunk/lib/Transforms/IPO/FunctionAttrs.cpp:1001
@@ -997,3 +1000,3 @@
   // always cached.
   TargetLibraryInfo &TLI = *MAM.getCachedResult<TargetLibraryAnalysis>(M);
 
----------------
When `TLI` isn't cached, we end up with:

```
; CHECK-CGSCC-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on SCC (f3)
                    ^
<stdin>:2:1: note: scanning from here
/Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/llvm/lib/Transforms/IPO/FunctionAttrs.cpp:1001:28: runtime error: reference binding to null pointer of type 'typename TargetLibraryAnalysis::Result' (aka 'llvm::TargetLibraryInfo') ^
<stdin>:12:55: note: possible intended match here
8 opt 0x0000000103e06b82 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PostOrderFunctionAttrsPass, llvm::PreservedAnalyses, true>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC>&) + 66 ```
(http://lab.llvm.org:8080/green/job/clang-stage2-cmake-RgSan_check/1549)

Unfortunately I'm not sure how much this has to do with your patch, since the FIXME has been in place for a while.


Repository:
  rL LLVM

http://reviews.llvm.org/D19172





More information about the llvm-commits mailing list