discopop | DiscoPoP - Discovery of Potential Parallelism | GPU library
kandi X-RAY | discopop Summary
kandi X-RAY | discopop Summary
DiscoPoP is an open-source tool that helps software developers parallelize their programs with threads. It is a joint project of Technical University of Darmstadt and Iowa State University.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- R classify loop variables
- Get the left and right subtrees of target
- The start position
- Return direct direct direct children of root node
- Visualize the graph
- Builds a preprocessed graph and returns a preprocessed graph
- Parses the input files
- Helper function to map dummy nodes
- Parse dependencies from a dependency file
- Runs the detection pipeline
- Create a dependency graph from a dictionary
- Parse a CU element
- Parses a dependency
- Returns True if the given dependency is first written in the given loop
- Default encoder
- Remove properties from a dict
- Check if an alias exists
- Check if a dependency is passed in func
- Find the subnodes of a given node
- Gets the path to a file
- Return a list of paths between source and target
- Get a list of paths between source and target
- Wrapper function to create PET graphX
- Search recursive function calls
- Calls CU INSTANCE_CUInstations
- Invoke a subprocess
discopop Key Features
discopop Examples and Code Snippets
Community Discussions
Trending Discussions on discopop
QUESTION
I have two LLVM passes, one which requires the outputs of the other. So in PassB I have:
...ANSWER
Answered 2019-Nov-28 at 19:00I get an error: undefined symbol: _ZN18PassA2IDE
Because the PassA isn't visible to clang.
If I load PassA in clang as well, it works: clang -Xclang -load -Xclang LLVMPassA.so -Xclang -load -Xclang LLVMPassB.so
As expected.
But it seems redundant to have to load it manually if it required from the PassB.
Only if there was a way for clang know know about PassA
when passB is supplied as flag. clang has no way of knowing where LLVMPassA.so
resides unless we pass as flag.
Is there a way to load PassA programmatically from PassB?
This can be done if you modify the LLVM source code and put both your passes there. Registering a pass within LLVM pass manager is straightforward. See https://reviews.llvm.org/D50658 (Hot cold splitting pass) as an example, specifically changes in lib/Transforms/IPO/PassManagerBuilder.cpp
, and function createHotColdSplittingPass
.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install discopop
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page