Closed tommymcm closed 3 months ago
Two recent commits fix a bug for NoellePass
registration. There can be only one implementation of llvmGetPassPluginInfo
per plugin so it was removed from LoopMetadataPass
and added to NoellePass
.
I have tested this update with MEMOIR and it works with these two changes.
Fixed compilation errors dealing with the following changes in LLVM 18.1.6
src/core/pdg_generator
usedllvm::ModRefInfo::Must{,Mod,Ref,ModRef}
, which are deprecated in 18.1.6. Removed all case branches that reference them, as far as I can tell, this result is always treated the same as the May variant so I don't expect any actual impact.src/core/loop_whilifier
made direct use of the instruction list inllvm::BasicBlock
. A note in LLVM source code says to usellvm::BasicBlock::{erase,insert,splice}
instead, which is what I did.src/core/loop_whilifier
andsrc/core/loop_transformer
usellvm::OptimizationRemarkEmitter
, which was moved into its own header file. I have added the include.src/core/loop_unroll
had a type error caused byllvm::LoopUnrollResults
. I think this was caused by an interaction betweenauto
andenum class
. Qualifying the declaration with its type fixed the error.Updated
tests/unit
andexamples/passes
to use LLVM 18.1.6 inCMakeLists.txt
.With these changes, top-level
make
runs without errors.