Displaying 9 results from an estimated 9 matches for "devirtsccrepeatedpass".
2019 Dec 26
2
[RFC] Coroutines passes in the new pass manager
...hecks for
devirtualizations after each pass and, if any occur, it re-runs the
CGSCC pass pipeline. In other words: coro-split is run, a check is
made for devirtualization, then coro-elide is run, and another check
is made.
The new pass manager allows for a series of CGSCC passes to be wrapped
in a DevirtSCCRepeatedPass, but this only checks for devirtualizations
after all passes are run. In the case of coro-split and coro-elide,
the indirect function call is added and then devirtualized within a
single pass of the repeater, so DevirtSCCRepeatedPass never sees the
devirtualization and thus doesn't perform a re...
2017 Dec 14
2
devirtualization with new-PM pipeline
Yes, this looks broken in the new PM. The DevirtSCCRepeatedPass::run method
first scans the functions in the SCC to collect value handles for indirect
calls, runs the CGSCC pass pipeline and then checks if any of the call
value handles now point to a direct call, in which case it runs the
pipeline again (which should inline the devirtualized call) . The proble...
2018 Jun 07
5
RFC: Pass Execution Instrumentation interface
...nontrivial to uniquely track pass executions
with counters in new pass
manager as its pipeline schedule can be dynamic. Ideas are welcome
on how to efficiently
implement unique execution tracking that does not break in
presence of fixed-point iteration
passes like RepeatedPass/DevirtSCCRepeatedPass
Also, the intent is for execution counters to be able provide
thread-safety in multi-threaded
pipeline execution (though no work planned for it yet).
5. introduce a new analysis llvm::PassInstrumentationAnalysis
This is a convenience wrapper to provide an access to
PassIns...
2018 Jun 08
2
RFC: Pass Execution Instrumentation interface
...hat nontrivial to uniquely track pass executions
with counters in new pass
manager as its pipeline schedule can be dynamic. Ideas are welcome
on how to efficiently
implement unique execution tracking that does not break in
presence of fixed-point iteration
passes like RepeatedPass/DevirtSCCRepeatedPass
Also, the intent is for execution counters to be able provide
thread-safety in multi-threaded
pipeline execution (though no work planned for it yet).
5. introduce a new analysis llvm::PassInstrumentationAnalysis
This is a convenience wrapper to provide an access to
PassInstr...
2018 Jun 07
2
RFC: Pass Execution Instrumentation interface
...counters in new pass
> manager as its pipeline schedule can be dynamic. Ideas are
> welcome
> on how to efficiently
> implement unique execution tracking that does not break in
> presence of fixed-point iteration
> passes like RepeatedPass/DevirtSCCRepeatedPass
>
> Also, the intent is for execution counters to be able provide
> thread-safety in multi-threaded
> pipeline execution (though no work planned for it yet).
>
> 5. introduce a new analysis llvm::PassInstrumentationAnalysis
>
> This i...
2018 Jun 08
2
RFC: Pass Execution Instrumentation interface
...ger as its pipeline schedule can be dynamic. Ideas are
>>>> welcome
>>>> on how to efficiently
>>>> implement unique execution tracking that does not break in
>>>> presence of fixed-point iteration
>>>> passes like RepeatedPass/DevirtSCCRepeatedPass
>>>>
>>>> Also, the intent is for execution counters to be able provide
>>>> thread-safety in multi-threaded
>>>> pipeline execution (though no work planned for it yet).
>>>>
>>>> 5. introduce a new analysis llvm...
2017 Dec 07
2
devirtualization with new-PM pipeline
Chandler et al,
I have been playing with the new PM pipeline, being particularly
interested in how it can handle devirtualization.
Now, I discovered what I believe is a "regression" vs old PM on a rather
simple one-translation-unit testcase.
clang is able to devirtualize it with -O3 and fails to do so with
-fexperimental-new-pass-manager added.
It looks like a pipeline issue,
2018 Jun 11
2
RFC: Pass Execution Instrumentation interface
...Ideas are welcome
> on how to efficiently
> implement unique execution tracking that does not
> break in
> presence of fixed-point iteration
> passes like RepeatedPass/DevirtSCCRepeatedPass
>
> Also, the intent is for execution counters to be
> able provide
> thread-safety in multi-threaded
> pipeline execution (though no work planned for it
> yet...
2019 Aug 07
2
Status of the New Pass Manager
On 8/7/19 6:20 PM, Hiroshi Yamauchi wrote:
> I basically run "clang
> -fexperimental-new-pass-manager -print-after-all ..."
>
> It's conceivable that something is different in our setup or in clang
> (from opt)... I'll see if I can reproduce it outside our setup.
Does it depend on machine architecture?
I generally use x86...
regards,
Fedor.
>
> Thanks.