Displaying 10 results from an estimated 10 matches for "functionanalysismanager".
2019 Feb 06
2
right way for setting PreserveLCSSA with new pass manager
Hi,
mustPreserveAnalysisID(LCSSAID) cannot be used with the new pass manager, so what is the right way for querying it? FunctionAnalysisManager::getCachedResult<LCSSAPass>(F) will not work, since LCSSAPass does not have a result. Moreover, it is not an analysis :)
Thanks,
Slava
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190206/d0d74674/...
2018 Aug 21
2
Function optimization pass
...gt;> auto lift_func = mod->getFunction("go_back");
>> if (not lift_func) {
>> llvm::errs() << "Error: cannot get function\n";
>> return 0;
>> }
>>
>> auto pass_builder = llvm::PassBuilder{};
>> auto fa_manager = llvm::FunctionAnalysisManager{};
>>
>> pass_builder.registerFunctionAnalyses(fa_manager);
>> auto fp_manager =
>> pass_builder.buildFunctionSimplificationPipeline(llvm::PassBuilder::OptimizationLevel::O2);
>>
>> fp_manager.run(*lift_func, fa_manager);
>>
>> ...print mod...
>>...
2018 Aug 20
2
Function optimization pass
...is:
mod = ...load module from LLVM IR bitcode file go_back.bc...
auto lift_func = mod->getFunction("go_back");
if (not lift_func) {
llvm::errs() << "Error: cannot get function\n";
return 0;
}
auto pass_builder = llvm::PassBuilder{};
auto fa_manager = llvm::FunctionAnalysisManager{};
pass_builder.registerFunctionAnalyses(fa_manager);
auto fp_manager =
pass_builder.buildFunctionSimplificationPipeline(llvm::PassBuilder::OptimizationLevel::O2);
fp_manager.run(*lift_func, fa_manager);
...print mod...
but the program crashes always at fp_manager.run. Strange enough, LLVM...
2017 Dec 15
2
RFC: Exposing TargetTransformInfo factories from TargetMachine
...use TargetTransformInfo to make architecture
specific code generation decisions from the XLA LLVM IR emitter[0].
However, we don't have a great way to do this today --
TargetTransformInfo is wrapped in a TargetIRAnalysis and getting the
TargetTransformInfo out of it requires something like:
FunctionAnalysisManager DummyFAM;
TTI = TIRA.run(F, DummyFAM);
return *TTI;
which isn't ideal.
Given that all in-tree backends have a factory function to directly
construct a TargetTransformInfo implementation anyway, what do you
think about exposing said factory function from the TargetMachine
subclasses direct...
2019 Mar 13
1
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...; wrote:
>
>>
>> - Add a new proxy ModuleAnalysisManagerLoopProxy for a loop pass
>> to be able to get to the ModuleAnalysisManager in one step and
>> PSI through it.
> This is just an optimization of compile-time, saves one
> indirection through FunctionAnalysisManager.
> I'm not even sure if it is worth the effort. And definitely not
> crucial for the overall idea.
>
>
> This should probably be clarified to something like:
>
> - Add a new proxy ModuleAnalysisManagerLoopProxy for a loop pass to be
> able to get to the ModuleAn...
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
2014 Jun 18
2
[LLVMdev] PM: High-level review of the new Pass Manager (so far)
..., which was
runOnIRUnit: IRUnit* -> bool.
- PassManagers interoperate via adaptors. E.g.,
ModuleToFunctionPassAdaptor is a module transformation pass that
contains a FunctionPassManager (with some set of function passes).
- AnalysisManagers interoperate via proxies. E.g.,
FunctionAnalysisManagerModuleProxy is a module analysis pass that
forwards to a FunctionAnalysisManager.
- LazyCallGraph and ModuleToPostOrderCGSCCPassAdaptor collude to visit
SCCs in post-order, including API for updating the SCC-graph
on-the-fly without invalidating the traversal.
I think what's done...
2019 Mar 13
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...those through loop passes is a cornerstone to this
approach.
>
> - Add a new proxy ModuleAnalysisManagerLoopProxy for a loop pass to be
> able to get to the ModuleAnalysisManager in one step and PSI through it.
This is just an optimization of compile-time, saves one indirection
through FunctionAnalysisManager.
I'm not even sure if it is worth the effort. And definitely not crucial
for the overall idea.
regards,
Fedor.
>
>
>
>
> On Mon, Mar 4, 2019 at 2:05 PM Fedor Sergeev <fedor.sergeev at azul.com
> <mailto:fedor.sergeev at azul.com>> wrote:
>
>
>
>...
2020 Jan 07
2
Let CallGraphSCCPass Use Function-Level Analysis
...k what you are planning to do?
Cheers,
Johannes
On 01/07, Brian Gesiak via llvm-dev wrote:
> Hello! The new pass manager provides analysis proxies from one IR unit
> type to another. These are specializations of
> 'llvm::InnerAnalysisManagerProxy'. For example,
> 'llvm::FunctionAnalysisManagerModuleProxy' allows you to access
> function analyses from within module passes.
>
> In your case, it sounds like you'd want to use
> 'llvm::FunctionAnalysisManagerCGSCCProxy', which allows you to access
> function analyses from within an CGSCC pass. Here's an exa...
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
On 3/4/19 10:49 PM, Hiroshi Yamauchi wrote:
>
>
> On Mon, Mar 4, 2019 at 10:55 AM Hiroshi Yamauchi <yamauchi at google.com
> <mailto:yamauchi at google.com>> wrote:
>
>
>
> On Sat, Mar 2, 2019 at 12:58 AM Fedor Sergeev
> <fedor.sergeev at azul.com <mailto:fedor.sergeev at azul.com>> wrote:
>
>
>
> On 3/2/19 2:38 AM,