noelle
noelle copied to clipboard
NOELLE Offers Empowering LLVM Extensions
1. Generalized the dataflow engine working list algorithm by introducing a template DFE Base, which is called `DataFlowEngineBase.hpp` 2. Deleted the original DFE, now it calls the base with initializing...
Hi - I see there's a port to LLVM 14 in progress, any plans for a port to a later LLVM (the RISC-V toolchain is updated constantly between LLVM releases...
LLVM's basicaa is not safe for parallel applications because it breaks alias edges that should exist. However basicaa is the only (as far as I can tell) AA that reads...
It's likely that - Function `LoopMetadataPass::getLoopStructuresWithoutNoelle()` computes what `Noelle::getLoopStructures()` already provides.
If you apply the attached patch and try to run the example pass `loops` on example `0`, you get the following failure. ```opt: /project/extra/llvm/9.0.0/release/include/llvm/PassAnalysisSupport.h:262: AnalysisType &llvm::Pass::getAnalysisID(llvm::AnalysisID, llvm::Function &) [AnalysisType =...
The conventional definition of control definition doesn't capture everything we need. What is missing is the possibility of never returning from a call instruction.
Currently NOELLE enablers do not necessarily respect the semantics of LLVM's lifetime [intrinsics](https://llvm.org/docs/LangRef.html#memory-use-markers). Consider the following pseudocode: ```obj = alloca() for i in ... call llvm.lifetime.start(obj) obj[i] = x call...