Displaying 20 results from an estimated 300 matches similar to: "Problems with registering of ModulePass (with Dependencies)"
2019 Apr 02
2
How can I use llvm::LoopInfo in the runOnModule method?
Hi all,
I tried to have a LoopInfo object in a function pass, and add addRequired
in getAnalysisUsage, and then use getAnalysis in runOnFunction(). It worked
OK.
Now I want to have a module pass to traverse the functions, and similarly,
I want to have to loop information of the functions.
When I did the above in runOnModule, and build the module pass, the
following error popped out, and the
2019 Apr 03
3
How can I use llvm::LoopInfo in the runOnModule method?
Interesting that we're getting a relative flood of these recently.
See here:
http://lists.llvm.org/pipermail/llvm-dev/2019-March/131346.html
I don't think one can reliably get a Function analysis pass from within
a ModulePass using the legacy pass manager. You have to manually
construct the pass yourself.
-David
Jonathan Smith via llvm-dev <llvm-dev at
2018 Feb 07
2
Question about using LoopAccessLegacyAnalysis
Hi LLVM community,
I am writing a custom pass for analyzing the dependence information for the memory access within a loop. I found “LoopAccessLegacyAnalysis” class useful, however I m not able to obtain information from that pass. Here is what I did to get the information:
// require pass
virtual void getAnalysisUsage(AnalysisUsage &AU) const
{
2018 Feb 08
0
Question about using LoopAccessLegacyAnalysis
Have you check `LoopAccessLegacyAnalysis::runOnFunction` ran as you expect?
Besides, I am not sure if `LoopAccessLegacyAnalysis::runOnFunction` does
anything useful, have you check that, too?
2018-02-08 1:49 GMT+08:00 Kewen Meng via llvm-dev <llvm-dev at lists.llvm.org>:
> Hi LLVM community,
>
> I am writing a custom pass for analyzing the dependence information for
> the
2017 Nov 24
3
Get values from a given type
Hi,
if one has a Value object, the Type of the Value can be retrieved with getType().
Is there a way back, get a list of all values that refer to a specific type (i.e. a struct etc.)?
Regards,
Gerion
2019 Mar 31
2
Unable to find requested analysis info (Interesting Assertion Failture for Specific Target Source Code)
Dear all,
Hi! I encounter an interesting assertion failure when implementing my Pass, which is defined with the member functions shown below:
======================My Pass======================================
bool MYPass::runOnModule(Module &M)
{
for (auto &F : M)
{
SE = &getAnalysis<ScalarEvolutionWrapperPass>(F).getSE();
......
2018 Feb 07
0
Question about using LoopAccessLegacyAnalysis
Hi LLVM community,
I am writing a custom pass for analyzing the dependence information for the memory access within a loop. I found “LoopAccessLegacyAnalysis” class useful, however I m not able to obtain information from that pass. Here is what I did to get the information:
// require pass
virtual void getAnalysisUsage(AnalysisUsage &AU) const
{
2017 Jun 09
2
Get segfault with ModulePass
Hi,
don't know if this is the right list. Please post a better place,
otherwise.
I'm currently writing a LLVM ModulePass and ran into strange segfaults or
endless loops within LLVM. My main question is, if this is a programming error
or API misuse from me or a LLVM bug?
Here is some minimal code, that triggers the bug:
----------------
class DebugPass : public ModulePass {
public:
2017 Jun 11
2
Get segfault with ModulePass
Hi,
thanks for the answer.
Am Sonntag, 11. Juni 2017, 02:16:36 CEST schrieben Sie:
> Have you tried building LLVM with assertions enabled? Assertions are
> often a good way to catch API misuses, but they aren't on by default
> for release builds.
Good advice. You're right. Now an assertion triggers. The problem
seems to be the argument iterator.
Do you know some way to
2017 Jan 26
3
AAResultsWrapperPass assertion in 3.9
Thanks Eli.
Ashutosh once asked the same question, and later said:
'createLegacyPMAAResults' can help here.
But how should this be used to solve the assertion problem?
On Jan 25, 2017, 4:10 PM -0800, Friedman, Eli <efriedma at codeaurora.org>, wrote:
> On 1/25/2017 4:00 PM, Welson Sun via llvm-dev wrote:
> > Hi,
> >
> > Migrating from 3.5 to 3.9. There is a
2015 Sep 23
4
Find loops in LLVM bytecode
Hi,
I want to find simple loops in LLVM bytecode, and extract the basic
information of the loop.
For example:
for (i=0; i<1000; i++)
sum += i;
I want to extract the bound [0, 1000), the loop variable "i" and the
loop body (sum += i).
What should I do?
I read the LLVM API document, and find some useful classes like "Loop",
"LoopInfo".
But I do
2016 Mar 21
2
[Inliner] Loop info in the inliner
Hi,It seems inliner does not take into account if a call is inside a loop. I'm trying to figure out if loop-info can be made available to the inliner.
When I try to add LoopInfoWrapperPass to Inliner.cpp,
diff --git a/llvm/lib/Transforms/IPO/Inliner.cpp b/llvm/lib/Transforms/IPO/Inliner.cppindex 568707d..cb51ea8 100644--- a/llvm/lib/Transforms/IPO/Inliner.cpp+++
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)
{
2019 Jan 31
4
Confusing ERROR with LoopAccessLegacyAnalysis: Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized.
Dear all,
I write a new LoopPass which wants to use passes including LoopInfoWrapperPass, ScalarEvolutionWrapperPass and LoopAccessLegacyAnalysis.
Therefore, I implement the following code based on LLVM 9.0.0:
=====================================================================
bool LoopInformationCollect::runOnLoop(Loop *L, LPPassManager &)
{
auto &SE =
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,
2016 Feb 09
2
LoopIdiomRegognize vs Preserved
Hi Haicheng,
Originally I ran into this on our out-of-tree target but I managed to
reproduce the crash on X86 as well now:
build-all/bin/opt -S -sroa -loop-rotate -loop-deletion -licm
-loop-idiom ../llvm/bugpoint-reduced-simplified.i8+.ll
gives:
While deleting: void %
An asserting value handle still pointed to this value!
UNREACHABLE executed at ../lib/IR/Value.cpp:696!
0 opt
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
2016 Mar 22
0
[Inliner] Loop info in the inliner
FYI - There is currently an architectural issue which prevents the SCC
pass manager (which runs the inliner) from relying on Function or Loop
analysis passes. This is the primary motivation of the pass manager
rewrite that Chandler Carruth has been working on for the last two
years. He's getting relatively close to that project being done, but
until then you are going to be effectively
2019 Mar 26
2
On-the-fly passes
I'm seeing some very unexpected behavior in a ModulePass I've created.
To support both the legacy and new pass managers, I've abstracted away
the code to get the passes it depends on:
bool MyPass::runOnModule(Module &M) override {
auto DominatorGetter = [this] (Function &F) -> DominatorTree & {
return
2018 Jan 28
0
Polly Dependency Analysis in MyPass
I have modified the code as follows; now i am using both scopdetection and
scopinformation before dependency check but i think link is missing...
virtual bool runOnFunction(Function &F)
{
std::unique_ptr<ScopInfo> Result;
std::unique_ptr<ScopDetection> Result2;
//polly::ScopDetection pl;
auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
auto