Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Using a FunctionPass inside a CallGraphSCCPass"
2010 Jul 16
2
[LLVMdev] Function::getName in CallGraphSCCPass causes bus error
Hi,
I'm trying to use CallGraphSCCPass, but I keep getting a bus error. I
can reproduce the problem quite easily using the lib/Transforms/Hello
example. I simply mix in these changes:
#include "llvm/CallGraphSCCPass.h"
...
struct Hello : public CallGraphSCCPass {
static char ID; // Pass identification, replacement for typeid
Hello() : CallGraphSCCPass(&ID) {}
2013 Jan 24
2
[LLVMdev] FunctionPass question
Hi,
I am working on a pass to convert lib calls to intrinsic calls as discussed here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-January/058507.html
In my first attempt I created a FunctionPass that uses CallInst::setCalledFunction to replace the callee with the appropriate intrinsic (using Intrinsic::getDeclaration).
After the pass runs I get an assertion from CallGraphSCCPass:
2010 Jul 19
0
[LLVMdev] Function::getName in CallGraphSCCPass causes bus error
Hi Trevor,
> struct Hello : public CallGraphSCCPass {
> static char ID; // Pass identification, replacement for typeid
> Hello() : CallGraphSCCPass(&ID) {}
> virtual bool runOnSCC(std::vector<CallGraphNode *> &SCC) {
> CallGraphNode *node = SCC.front();
> Function *function = node->getFunction();
>
2010 Jun 09
1
[LLVMdev] Segmentation fault 'cause of accessing function arguments
Hi all,
I am experimenting to run a pass inherited from CallGraphSCCPass. In
the pass, I iterate all functions in a SCC. In each iteration, I
access all arguments of a function in the following way:
Function::arg_iterator PI = fun->arg_begin(), PE = fun->arg_end();
...
I have no trouble with building. However, I am troubled with
"segmentation fault" when I run the pass
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
2018 May 07
2
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
If I run:
opt -globals-aa -die -inline -debug-pass=Details foo.ll -S
then I will get this pass structure:
Target Library Information
Target Transform Information
Target Pass Configuration
Assumption Cache Tracker
Profile summary info
ModulePass Manager
CallGraph Construction
Globals Alias Analysis
FunctionPass Manager
BasicBlockPass Manager
Dead Instruction
2016 Jun 09
2
Intended behavior of CGSCC pass manager.
On Wed, Jun 8, 2016 at 8:14 PM, Xinliang David Li <davidxl at google.com>
wrote:
>
>
> On Wed, Jun 8, 2016 at 4:38 PM, Sean Silva <chisophugis at gmail.com> wrote:
>
>>
>>
>> On Wed, Jun 8, 2016 at 12:31 PM, Xinliang David Li <davidxl at google.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Jun 8, 2016 at 4:19 AM, Sean
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
On Wed, Jun 8, 2016 at 9:39 AM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
> On Wed, Jun 8, 2016 at 4:19 AM, Sean Silva <chisophugis at gmail.com> wrote:
>
>> Hi Chandler, Philip, Mehdi, (and llvm-dev,)
>>
>> (this is partially a summary of some discussions that happened at the
>> last LLVM bay area social, and partially a discussion about
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
On Wed, Jun 8, 2016 at 12:31 PM, Xinliang David Li <davidxl at google.com>
wrote:
>
>
> On Wed, Jun 8, 2016 at 4:19 AM, Sean Silva <chisophugis at gmail.com> wrote:
>
>> Hi Chandler, Philip, Mehdi, (and llvm-dev,)
>>
>> (this is partially a summary of some discussions that happened at the
>> last LLVM bay area social, and partially a discussion
2014 Jun 18
2
[LLVMdev] PM: High-level review of the new Pass Manager (so far)
Hi Chandler,
This is a high-level review of the new WIP `PassManager` infrastructure.
For those that haven't dug into Chandler's commits, here's a very
high-level overview (assuming IIUC):
- The driver supports simple declarative syntax for specifying passes
to run. E.g., `module(a,b,function(c,d),e)` runs module passes `a`
and `b`, then function passes `c` and `d` for
2018 May 07
0
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
I'm not sure about the old pass manager, but I think the new pass
manager solves this issue. See
llvm::updateCGAndAnalysisManagerForFunctionPass where it updates the
call graph to be in sync with edges deleted by function passes. So I
suspect the right fix is to use the new pass manager.
-- Sanjoy
On Mon, May 7, 2018 at 7:32 AM, Björn Pettersson A via llvm-dev
<llvm-dev at
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
On Wed, Jun 8, 2016 at 3:10 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> On Jun 8, 2016, at 2:54 PM, Sean Silva <chisophugis at gmail.com> wrote:
>
>
>
> On Wed, Jun 8, 2016 at 9:39 AM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>>
>>
>> On Wed, Jun 8, 2016 at 4:19 AM, Sean Silva <chisophugis at gmail.com> wrote:
2018 Feb 07
6
retpoline mitigation and 6.0
I've landed the patch in r324449.
Before we merge this into two different Clang release branches and almost
immediately release one of them, I would really like someone to confirm
that this patch works well with the Linux kernel. David, if you're up for
that, it would be great. Alternatively, Guenter or someone else here can
help.
On Tue, Feb 6, 2018 at 5:59 PM Chandler Carruth
2009 Feb 12
2
[LLVMdev] DominatorTree Information required in CallGraphPass
Hi all,
I am implementing a new pass for LLVM which extends Call Graph
SCCPass. I need DominatorTree Information when I get to individual
function. I have added AU.addrequired<DominatorTree>() and
AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function.
But, when I get to the pass, Pass Manager gives following runtime error
Unable to schedule 'Dominator Tree
2018 May 08
2
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
Well, do you have a patch that enables the new pass manager that we can land then?
To be more serious:
1) I don't even know how to run those passes using the new pass manager even if it where enabled by default. I guess that I'm supposed to use -passes. Is there a syntax description for that option somewhere? How do I for example run -die?
2) "Use the new pass manager" does
2020 Jan 07
2
Let CallGraphSCCPass Use Function-Level Analysis
Dear all,
I would like to use the PostDominatorTree in ArgPromotion. I did not find an example of how to use function level analysis inside CallGraphSCCPass. I tried to follow an example of how to use function-level pass in a module pass, but I hit "llvm_unreachable" in PMDataManager::addLowerLevelRequiredPass.
What would be a proper way to make PostDominatorTree available in
2012 Oct 04
2
[LLVMdev] Interprocedural Register Allocation
Hi Jakob,
On Thu, Oct 4, 2012 at 2:31 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On Oct 4, 2012, at 2:27 PM, "Madhusudan C.S" <madhusudancs at gmail.com>
> wrote:
>
> Basically, the PrologEpilogInsertion pass will add a bit mask to
>> MachineModuleInfo describing which registers are clobbered by the function
>> being compiled. Later,
2009 Feb 12
0
[LLVMdev] DominatorTree Information required in CallGraphPass
On Feb 11, 2009, at 6:05 PM, kapil anand wrote:
> Hi all,
>
> I am implementing a new pass for LLVM which extends Call Graph
> SCCPass. I need DominatorTree Information when I get to individual
> function. I have added AU.addrequired<DominatorTree>() and
> AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function.
>
> But, when I get to the pass,
2018 May 08
0
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
Hi Björn,
1) The pass pipeline syntax is documented here:
https://github.com/llvm-project/llvm/blob/master/include/llvm/Passes/PassBuilder.h#L378
-die is not implemented, since the new pass manager does not support
BasicBlock passes. But you can use dce instead: "-passes=dce"
2) I don't have a qualified answer here, but if I recall correctly, the
trouble to correctly update the
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