search for: timepassesisenabled

Displaying 12 results from an estimated 12 matches for "timepassesisenabled".

2011 Jun 01
2
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
Thanks for the reply! Unfortunately, that seems to have the same effect as setting llvm::TimePassesIsEnabled myself, and all my same problems still apply as the TimingInfo's destructor (PassManager.cpp) is still never called. Running it in the debugger shows that TimerGroup's removeTimer method is never called, nor is it's destructor (but it's constructor is). On Wed, Jun 1, 2011 at 11:51...
2011 Jun 01
2
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
I have some PassManagers, and I would like to output timing data for how long each pass takes to execute with a separate application using the API, rather than through an llvm tool. Unfortunately, I'm having trouble seeing how to use the existing facilities without using opt. Setting llvm::TimePassesIsEnabled before creating the PassManagers doesn't seem to output anything, though it is making Timers and TimerGroups. Even if I call llvm::getPassTimer for one of the passes (and I do get a timer that is initialized), I can't figure out to get to its TimerGroup (TG is private, but if I use a debugg...
2011 Jun 01
0
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
Oh, you probably also need to create a static llvm_shutdown_obj. On 06/01/2011 02:19 PM, Michael Ilseman wrote: > Thanks for the reply! Unfortunately, that seems to have the same > effect as setting llvm::TimePassesIsEnabled myself, and all my same > problems still apply as the TimingInfo's destructor (PassManager.cpp) > is still never called. Running it in the debugger shows that > TimerGroup's removeTimer method is never called, nor is it's > destructor (but it's constructor is). > >...
2011 Jun 01
0
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
...sManagers, and I would like to output timing data for > how long each pass takes to execute with a separate application using > the API, rather than through an llvm tool. Unfortunately, I'm having > trouble seeing how to use the existing facilities without using opt. > Setting llvm::TimePassesIsEnabled before creating the PassManagers > doesn't seem to output anything, though it is making Timers and > TimerGroups. Even if I call llvm::getPassTimer for one of the passes > (and I do get a timer that is initialized), I can't figure out to get > to its TimerGroup (TG is private, b...
2009 May 20
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
...=================== --- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (revision 72159) +++ lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (working copy) @@ -611,6 +611,36 @@ DOUT << "Optimized type-legalized selection DAG:\n"; DEBUG(CurDAG->dump()); } + + if (TimePassesIsEnabled) { + NamedRegionTimer T("Vector Legalization", GroupName); + Changed = CurDAG->LegalizeVectors(); + } else { + Changed = CurDAG->LegalizeVectors(); + } + + if (Changed) { + if (TimePassesIsEnabled) { + NamedRegionTimer T("Type Legalization 2&...
2018 Sep 12
2
How to make LLVM go faster?
...8.3530 1.0000 > > 81% of the time was spent waiting for LLVM to turn a Module into an object > file. This is with optimizations off, FastISel, no module verification, etc. > > How can I speed this up? Any tips or things to look into? > > > First step is probably setting TimePassesIsEnabled to true and looking at > the output. It's hard to say where the time is going without any numbers. > > -Eli > > -- > Employee of Qualcomm Innovation Center, Inc. > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project &...
2009 May 20
0
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
...=================== --- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (revision 72159) +++ lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (working copy) @@ -611,6 +611,36 @@ DOUT << "Optimized type-legalized selection DAG:\n"; DEBUG(CurDAG->dump()); } + + if (TimePassesIsEnabled) { + NamedRegionTimer T("Vector Legalization", GroupName); + Changed = CurDAG->LegalizeVectors(); + } else { + Changed = CurDAG->LegalizeVectors(); + } + + if (Changed) { + if (TimePassesIsEnabled) { + NamedRegionTimer T("Type Legalization 2&...
2018 Sep 12
2
How to make LLVM go faster?
Here is some timing information from running the Zig standard library tests: $ ./zig test ../std/index.zig --enable-timing-info Name Start End Duration Percent Initialize 0.0000 0.0010 0.0010 0.0001 Semantic Analysis 0.0010 0.9968 0.9958 0.1192 Code Generation 0.9968 1.4000 0.4032
2012 Jun 13
0
[LLVMdev] generating pass timing info in a JIT context
...g with a production version of 3.0, and expecting to upgrade to 3.1 soon. We noticed that clang and llc can display component timing using the -ftime-passes and -time-passes options respectively. A little poking around in the code revealed that the timers are started by setting the variable "TimePassesIsEnabled" to true - that's how the command line processing code does it. However, setting this variable in the JIT context fails to elicit the timer information coming out on stderr. :-( Earlier, I implemented an optional statistics display using calls to "EnableStatistics()" and &quot...
2009 May 21
0
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On Wed, May 20, 2009 at 4:55 PM, Dan Gohman <gohman at apple.com> wrote: > Can you explain why you chose the approach of using a new pass? > I pictured removing LegalizeDAG's type legalization code would > mostly consist of finding all the places that use TLI.getTypeAction > and just deleting code for handling its Expand and Promote. Are you > anticipating something more
2009 May 20
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On May 20, 2009, at 1:34 PM, Eli Friedman wrote: > On Wed, May 20, 2009 at 1:19 PM, Eli Friedman > <eli.friedman at gmail.com> wrote: > >> Per subject, this patch adding an additional pass to handle vector >> >> operations; the idea is that this allows removing the code from >> >> LegalizeDAG that handles illegal types, which should be a significant
2009 May 21
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
...=================== --- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (revision 72159) +++ lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (working copy) @@ -611,6 +611,36 @@ DOUT << "Optimized type-legalized selection DAG:\n"; DEBUG(CurDAG->dump()); } + + if (TimePassesIsEnabled) { + NamedRegionTimer T("Vector Legalization", GroupName); + Changed = CurDAG->LegalizeVectors(); + } else { + Changed = CurDAG->LegalizeVectors(); + } + + if (Changed) { + if (TimePassesIsEnabled) { + NamedRegionTimer T("Type Legalization 2&...