Displaying 20 results from an estimated 30000 matches similar to: "List of optimizers"
2015 May 19
3
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
Thanks John.
Does this solve the problem of analysis availability though? If I still have to run the function analyses manually, I might as well keep rolling with the CallGraphSCCPass. (I probably should have mentioned that this is what I’m using right now.)
Félix
> Le 2015-05-19 à 10:12:32, John Criswell <jtcriswel at gmail.com> a écrit :
>
> On 5/18/15 10:45 PM, Félix Cloutier
2015 May 20
3
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
So I got very mixed results.
With the CallGraphSCCPass, both `addRequired<DominatorTreeWrapperPass>` and `addRequired<MemoryDependenceAnalysis>` fail at runtime. The LLVM core has just two CallGraphSCCPasses and neither uses neither analyses, so it's hard to find a valid example.
I transformed the pass into a ModulePass, using scc_iterator as shown in CGPassManager to process
2016 Jun 21
5
pass invalidation
On 6/20/16 3:46 PM, Yuxi Chen wrote:
> Hi,
>
> Thanks for your reply.
> But I still don't know how a transform pass updates a new analysis
> pass after it modifies the IR. Can you explain it clearly? I am not
> familiar with pass management and invocation.
Passes can have methods that allow their internal state to be updated by
other passes (the same way that their state
2016 Jun 19
4
pass invalidation
On 6/19/16 4:28 AM, Mehdi Amini via llvm-dev wrote:
>
>> On Jun 18, 2016, at 10:44 PM, Yuxi Chen via llvm-dev
>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Hi All,
>>
>> When I use llvm, I encounter a problem like "unable to schedule pass
>> A required by C"
>> I investigated deeper.
2016 Mar 24
2
Help with pass manager
So we come back to my earlier comment: can you produce a one-file, < 100 lines that reproduce the issue?
--
Mehdi
> On Mar 24, 2016, at 10:16 AM, Lorenzo Laneve <lore97drk at icloud.com> wrote:
>
> Those lines of code are in a function that is called before calling the moduleToObjectFile() function
>
> On Mar 24, 2016, at 6:07 PM, Mehdi Amini <mehdi.amini at
2016 Mar 24
2
Help with pass manager
You may want to try adding this code (copy/pasted from llc.cpp):
// Initialize targets first, so that --version shows registered targets.
InitializeAllTargets();
InitializeAllTargetMCs();
InitializeAllAsmPrinters();
InitializeAllAsmParsers();
// Initialize codegen and IR passes used by llc so that the -print-after,
// -print-before, and -stop-after options work.
PassRegistry
2016 Mar 24
2
Help with pass manager
I’m using LLVM 3.8.0, and no, it’s the precompiled version
That’s why it doesn’t give me enough info for debug
> On 24 Mar 2016, at 1:53 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> This code path is not likely to crash usually. Did you build LLVM yourself? Which version are you using and can you reduce the test case to be "minimal" so that someone can
2015 May 06
5
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
On 5/6/15 10:19 AM, Kuperstein, Michael M wrote:
>
> Hello Cristiano,
>
> I don’t think doFinalization() is really meant to be used this way.
>
My understanding is that doInitialization() and doFinalization() are
designed specifically for modifying the LLVM IR (otherwise, why would a
mutable reference to the Function be provided)?
If that is not the case, then there is either a
2016 Mar 30
1
Help with pass manager
Passes all need to be initialized before they are added into a pass manager.
Are you calling TargetLibraryInfoWrapperPass::initializePass anywhere?
-Chris
> On Mar 24, 2016, at 10:41 AM, Lorenzo Laneve via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> The problems happens because PMTopLevelManager::findAnalysisPassInfo(AnalysisID AID) returns nullptr in
2016 Mar 24
0
Help with pass manager
Those lines of code are in a function that is called before calling the moduleToObjectFile() function
> On Mar 24, 2016, at 6:07 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> You may want to try adding this code (copy/pasted from llc.cpp):
>
> // Initialize targets first, so that --version shows registered targets.
> InitializeAllTargets();
>
2016 Mar 24
0
Help with pass manager
The problems happens because PMTopLevelManager::findAnalysisPassInfo(AnalysisID AID) returns nullptr in PMTopLevelManager::addImmutablePass(ImmutablePass *P).
This because PassRegistry::getPassRegistry()->getPassInfo(AID) call in it returns nullptr as well.
Should I probably register the pass I want to add with PassRegistry::registerPass(const PassInfo &PI, bool ShouldFree) ?
I didn’t do it
2016 Mar 24
0
Help with pass manager
Update:
Sorry my bad. I built llvm and tried it with debugging version.
It was an assertion (IR/LegacyPassManager.cpp:764) saying that it expects all immutable passes to be initialized.
> On Mar 24, 2016, at 2:00 AM, Lorenzo Laneve <lore97drk at icloud.com> wrote:
>
> I’m using LLVM 3.8.0, and no, it’s the precompiled version
> That’s why it doesn’t give me enough info for
2016 Mar 24
2
Help with pass manager
Sorry, that's a pure crash I think, assertions are not triggered.
Xcode doesn’t map those 2 functions to line numbers because they’re in precompiled libraries
On Mar 24, 2016, at 1:44 AM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
>
>> On Mar 23, 2016, at 5:41 PM, Lorenzo Laneve <lore97drk at icloud.com <mailto:lore97drk at
2016 Mar 22
2
GSOC inquiry.
Sir,
I am interested in adding a new analysis or optimization pass and building
the getting started guide as a project for gsoc.
On Mon, Mar 21, 2016 at 1:29 AM, John Criswell <jtcriswel at gmail.com> wrote:
> On 3/17/16 10:58 AM, Om Shivom Nagpal wrote:
>
> No i have not worked previously on llvm. I have looked through the
> projects but because of no prior experience i am
2016 Mar 23
1
GSOC inquiry.
Sir,
I am interested in add a new pass. I have read about analysis,
transformation passes. Can you help me with some example ideas?
On Wed, Mar 23, 2016 at 1:39 AM, John Criswell <jtcriswel at gmail.com> wrote:
> On 3/22/16 11:15 AM, Om Shivom Nagpal wrote:
>
> Sir,
> I am interested in adding a new analysis or optimization pass and building
> the getting started guide as a
2015 Feb 27
2
[LLVMdev] Walking thru CallGraph bottom up
Hi Simon,
> From: Simone Atzeni <simone.at at gmail.com>
> To: John Criswell <jtcriswel at gmail.com>
> Cc: llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] Walking thru CallGraph bottom up
> Message-ID: <318EBA41-2040-4EFE-B330-5813C817C2A2 at gmail.com>
> Content-Type: text/plain; charset="windows-1252"
>
> I think I got it and the example is
2015 Jul 18
4
[LLVMdev] How can i differentiate pointer type int 32* from int 32** ?
John, thanks for your helpful advice.
My ultimate goal is to construct a full instruction-level program
dependence graph for a given IR file. The hard point is how to establish
the correct data dependence edges when some function arguments are
multi-level pointers. To solve this problem I hope to check the point-to
level for each pointer variable. I think the data dependence through
pointers can
2015 Jan 31
4
[LLVMdev] How to install poolalloc?
Hi, John Criswell
Thank you very much.
I am installing LLVM-3.2, but I encounter the next error when carrying out
"make":
llvm[3]: Compiling ClangASTNodesEmitter.cpp for Release+Asserts build
ClangASTNodesEmitter.cpp: In member function ‘std::pair<llvm::Record*,
llvm::Record*><unnamed>::ClangASTNodesEmitter::EmitNode(const
std::multimap<llvm::Record*, llvm::Record*,
2015 May 06
2
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
On 5/6/15 11:15 AM, Kuperstein, Michael M wrote:
>
> I’ve always thought that the only guarantee is that
> doFinalization(Module &M) runs after runOnFunction() was executed for
> all functions in M, and there’s no guarantee it runs *immediately* after.
>
> That is, a PM may run a bunch of function passes over each function,
> and only then call doFinazliation() for each
2015 Feb 27
0
[LLVMdev] Walking thru CallGraph bottom up
Dear Simon,
Kevin is correct; as far as I can tell, there is no method of getting
the functions calling a given function. Instead, you have to start at
the main() function and search for the function using a depth-first or
breadth-first search.
What may make sense is to build a new data structure that has nodes that
point from callees to callers once and then use that for your queries.