search for: aaresultswrapperpass

Displaying 20 results from an estimated 23 matches for "aaresultswrapperpass".

2017 Jan 26
2
AAResultsWrapperPass assertion in 3.9
Hi, Migrating from 3.5 to 3.9. There is a module pass that uses alias analysis started breaking at runtime: llvm/lnx64/llvm/include/llvm/PassAnalysisSupport.h:236: AnalysisType& llvm::Pass::getAnalysisID(llvm::AnalysisID) const [with AnalysisType = llvm::AAResultsWrapperPass; llvm::AnalysisID = const void*]: Assertion `ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"' failed. What does this mean? I have this line in my "required" list: void XidanePass::getAnalysisUsage(Analysi...
2017 Jan 26
3
AAResultsWrapperPass assertion in 3.9
...ting from 3.5 to 3.9. There is a module pass that uses alias > > analysis started breaking at runtime: > > > > llvm/lnx64/llvm/include/llvm/PassAnalysisSupport.h:236: AnalysisType& > > llvm::Pass::getAnalysisID(llvm::AnalysisID) const [with AnalysisType = > > llvm::AAResultsWrapperPass; llvm::AnalysisID = const void*]: Assertion > > `ResultPass && "getAnalysis*() called on an analysis that was not " > > "'required' by pass!"' failed. > > > > See https://reviews.llvm.org/rL247167 . > > -Eli > > -- > Emp...
2018 Apr 04
0
Fault while using AAResultsWrapperPass in LLVM 5.0.1
I am trying to use AliasAnalysis. The code for pass dependence is as following: class Timer : public ModulePass{ AliasAnalysis *AA; void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired<AAResultsWrapperPass>(); } ......... } bool Timer::runOnFunction(Function &F) { LLVMContext &C = F.getContext(); AA = &getAnalysis<AAResultsWrapperPass>(F).getAAResults(); ..... } When the Timer pass is registered by the following code: char CPI::ID = 0; static RegisterPass<CPI> X(&...
2016 Feb 08
2
LoopIdiomRegognize vs Preserved
Hi, I'm having problems with the LoopIdiomRegognizer crashing on me with An asserting value handle still pointed to this value! UNREACHABLE executed at ../lib/IR/Value.cpp:695! If I remove AU.addPreserved<LoopInfoWrapperPass>(); or AU.addPreserved<AAResultsWrapperPass>(); everything goes well. The C-code triggering this is void foo(int a[10][10]) { int i, j, k; for (i = 0; i < 1; i++) { for (j = 0; j < 2; j++) { for (k = 0; k < 10; k++) { a[j][k] = 42; } } } } First Loop...
2018 Jan 28
4
Polly Dependency Analysis in MyPass
Hello, I need to analyze dependencies in my llvm ir by using polly. i created a new pass called mypass there i added polly dependency analysis pass but when i execute this pass in gdb i get no data. Why is that so? My code is follows; namespace { struct mypass : public FunctionPass { static char ID; mypass() : FunctionPass(ID) { } virtual bool runOnFunction(Function &F) {
2016 Feb 10
2
LoopIdiomRegognize vs Preserved
...lue handle still pointed to this value! >>> UNREACHABLE executed at ../lib/IR/Value.cpp:695! >>> >>> If I remove >>> >>> AU.addPreserved<LoopInfoWrapperPass>(); >>> >>> or >>> >>> AU.addPreserved<AAResultsWrapperPass>(); >>> >>> everything goes well. >>> >>> The C-code triggering this is >>> >>> void foo(int a[10][10]) >>> { >>> int i, j, k; >>> >>> for (i = 0; i < 1; i++) { >>> for...
2018 Jan 28
0
Polly Dependency Analysis in MyPass
...) { std::unique_ptr<ScopInfo> Result; std::unique_ptr<ScopDetection> Result2; //polly::ScopDetection pl; auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); auto &RI = getAnalysis<RegionInfoPass>().getRegionInfo(); auto &AA = getAnalysis<AAResultsWrapperPass>().getAAResults(); auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); auto &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree(); Result2.reset(new ScopDetection(F, DT, SE, LI, RI, AA)); auto &SD2 = getAnalysis<polly::ScopDetectionWrapperPass&...
2016 Feb 09
2
LoopIdiomRegognize vs Preserved
...with the LoopIdiomRegognizer crashing on me with > > An asserting value handle still pointed to this value! > UNREACHABLE executed at ../lib/IR/Value.cpp:695! > > If I remove > > AU.addPreserved<LoopInfoWrapperPass>(); > > or > > AU.addPreserved<AAResultsWrapperPass>(); > > everything goes well. > > The C-code triggering this is > > void foo(int a[10][10]) > { > int i, j, k; > > for (i = 0; i < 1; i++) { > for (j = 0; j < 2; j++) { > for (k = 0; k < 10; k++) { >...
2018 Jan 28
1
Polly Dependency Analysis in MyPass
...lt;ScopInfo> Result; > std::unique_ptr<ScopDetection> Result2; > //polly::ScopDetection pl; > > auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); > auto &RI = getAnalysis<RegionInfoPass>().getRegionInfo(); > auto &AA = getAnalysis<AAResultsWrapperPass>().getAAResults(); > auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); > auto &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree(); > Result2.reset(new ScopDetection(F, DT, SE, LI, RI, AA)); > > > > auto &SD2 = getAnalysis<...
2015 Dec 02
2
GlobalsAA from GVN
Hi, I've noticed that alias analysis queries arising from GVN do not use the results from GlobalsAA. The last call to AAResultsWrapperPass::runOnFunction() before GVN does not add GlobalsAAWrapperPass due to unavailability. This leads to the alias queries from GVN not having any globals mod-ref info. Is this a known issue? and is there any way to have globals mod-ref info available for GVN? Thanks, - Vaivaswatha -------------- ne...
2018 Jan 29
1
Polly Dependency Analysis in MyPass
...nOnFunction(Function &F) { std::unique_ptr<ScopInfo> Result; std::unique_ptr<ScopDetection> Result2; auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); auto &RI = getAnalysis<RegionInfoPass>().getRegionInfo(); auto &AA = getAnalysis<AAResultsWrapperPass>().getAAResults(); auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); auto &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree(); Result2.reset(new ScopDetection(F, DT, SE, LI, RI, AA)); auto &SD2 = getAnalysis<polly::ScopDetectionWrapperPass&gt...
2018 Jan 29
0
Polly Dependency Analysis in MyPass
How do you compile the code? Within the Polly subdirectory using CMake? How do you run your pass. Using "opt -mypass inputfile.ll"? Michael 2018-01-28 9:30 GMT-06:00 hameeza ahmed via llvm-dev <llvm-dev at lists.llvm.org>: > Hello, > > I need to analyze dependencies in my llvm ir by using polly. i created a new > pass called mypass there i added polly dependency
2015 Dec 03
3
GlobalsAA from GVN
...t; James > > On Wed, 2 Dec 2015 at 09:35 Vaivaswatha Nagaraj via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi, >> >> I've noticed that alias analysis queries arising from GVN do not use the >> results from GlobalsAA. >> The last call to AAResultsWrapperPass::runOnFunction() before GVN does >> not add GlobalsAAWrapperPass due to unavailability. This leads to the alias >> queries from GVN not having any globals mod-ref info. >> >> Is this a known issue? and is there any way to have globals mod-ref info >> available for GVN?...
2015 Dec 03
2
GlobalsAA from GVN
...gt; > llvm-dev at lists.llvm.org > wrote: > > > > > > > > > > > > > > > > > > Hi, > > > > I've noticed that alias analysis queries arising from GVN do not use > > the results from GlobalsAA. > > The last call to AAResultsWrapperPass::runOnFunction() before GVN > > does not add GlobalsAAWrapperPass due to unavailability. This leads > > to the alias queries from GVN not having any globals mod-ref info. > > > > Is this a known issue? and is there any way to have globals mod-ref > > info available for...
2017 Mar 28
2
llvm 3.9 Alias Analysis result for function's by-ref arguments
Hi, I'm writing an analysis pass which is supposed to find instructions in a function that modify function's by-ref arguments. For that I'm using llvm AliasAnalysis pass, particularly querying for ModRef info for instructions and function arguments, to see if a given instruction modifies a given argument. However, for functions with more than one by-ref argument, I get strange
2019 Jan 02
2
AA pass dependencies
...pl)' is freed much > earlier than 'Function Alias Analysis Results' even though the latter > depends on the former (at least AFAICT by looking > at lib/Analysis/AliasAnalysis.cpp)? > > > > As far as I can tell later passes such as scheduling typically depend on > AAResultsWrapperPass which in turn depend on BasicAAWrapperPass (which in > my case also depend on LazyValueInfoWrapperPass). When scheduling needs to > query aliasing it uses its AAResults handle but this may then use its > BasicAA handle which may use its LVI handle and now the problem is that > according...
2015 Dec 03
2
GlobalsAA from GVN
...> > >> > >> > >> > >> > >> > >> > >> > >> > Hi, >> > >> > I've noticed that alias analysis queries arising from GVN do not use >> > the results from GlobalsAA. >> > The last call to AAResultsWrapperPass::runOnFunction() before GVN >> > does not add GlobalsAAWrapperPass due to unavailability. This leads >> > to the alias queries from GVN not having any globals mod-ref info. >> > >> > Is this a known issue? and is there any way to have globals mod-ref >> &gt...
2015 Dec 04
2
GlobalsAA from GVN
...t;>> > >>> > >>> > >>> > >>> > >>> > Hi, >>> > >>> > I've noticed that alias analysis queries arising from GVN do not use >>> > the results from GlobalsAA. >>> > The last call to AAResultsWrapperPass::runOnFunction() before GVN >>> > does not add GlobalsAAWrapperPass due to unavailability. This leads >>> > to the alias queries from GVN not having any globals mod-ref info. >>> > >>> > Is this a known issue? and is there any way to have globals mod-...
2018 Apr 26
0
Aliasing of pointers from different address spaces
Hi, Elena, You're correct. We do assume that pointers in different address spaces can alias. Targets can add their own AA pass into the AA query chain, and one of the things such analysis passes can do account for target-specific knowledge of address-space semantics. For example, see lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp  -Hal On 04/26/2018 07:56 AM, Demikhovsky, Elena via llvm-dev
2018 Dec 27
2
AA pass dependencies
Hi, Looking at the output of e.g. llc -mtriple=x86_64-unknown-linux-gnu test/CodeGen/X86/pre-coalesce.ll -debug-pass=Executions Why is it that 'Basic Alias Analysis (stateless AA impl)' is freed much earlier than 'Function Alias Analysis Results' even though the latter depends on the former (at least AFAICT by looking at lib/Analysis/AliasAnalysis.cpp)? Thanks! -Markus