Skip to content

ci: Enable autodiff tests on x86_64 linux#157776

Draft
sgasho wants to merge 1 commit into
rust-lang:mainfrom
sgasho:linux_autodiff_tests_ci
Draft

ci: Enable autodiff tests on x86_64 linux#157776
sgasho wants to merge 1 commit into
rust-lang:mainfrom
sgasho:linux_autodiff_tests_ci

Conversation

@sgasho

@sgasho sgasho commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Maybe we should move this to auto jobs
Testing on stage2 would be better but I want to see if the job works properly for the first run anyway.

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Jun 11, 2026
@rust-log-analyzer

This comment has been minimized.

@sgasho

sgasho commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

expected behaviour.

  • build succeeded
  • some tests failed
スクリーンショット 2026-06-12 21 40 31

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from a5999ca to 7da709a Compare June 12, 2026 12:41
@sgasho

sgasho commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

I executed git pull --rebase origin main to see if build steps in autodiff job finish successfully after enzyme submodule update

#157716

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-autodiff failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[0/2] Re-checking globbed directories...
[1/40] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/caching.cpp.o
[2/40] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/datastructures.cpp.o
[3/40] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/blas-tblgen.cpp.o
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/blas-tblgen.cpp: In function 'llvm::SmallString<80> ValueType_helper(const TGPattern&, ssize_t, const llvm::DagInit*)':
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/blas-tblgen.cpp:799:15: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'ssize_t' {aka 'long int'} [-Wsign-compare]
  799 |       if (pos == actPos || actPos == -1) {
      |           ~~~~^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/blas-tblgen.cpp:811:69: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
  811 |           (!ruleDag || hasAdjoint(pattern, ruleDag, name) || actPos == pos)
      |                                                              ~~~~~~~^~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/blas-tblgen.cpp:815:15: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'ssize_t' {aka 'long int'} [-Wsign-compare]
  815 |       if (pos == actPos || actPos == -1) {
      |           ~~~~^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/blas-tblgen.cpp:829:68: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
  829 |       if (!ruleDag || hasAdjoint(pattern, ruleDag, name) || actPos == pos) {
      |                                                             ~~~~~~~^~~~~~
[4/40] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/enzyme-tblgen.cpp.o
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp: In function 'bool handle(const llvm::Twine&, const llvm::Twine&, llvm::raw_ostream&, const llvm::Record*, const llvm::Init*, llvm::StringRef, VariableSetting&, bool, llvm::ArrayRef<unsigned int>, llvm::StringRef, bool, ActionType)':
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:385:30: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
  385 |       if (indicesP->getValues().size() == 1 &&
      |           ~~~~~~~~~~~~~~~~~~~^~
In file included from /checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:27:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:386:44: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
  386 |           cast<IntInit>(indicesP->getValues()[0])->getValue() == -1) {
      |                         ~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:389:44: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
  389 |         for (auto res : indicesP->getValues()) {
      |                         ~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp: In function 'void emitDerivatives(const llvm::RecordKeeper&, llvm::raw_ostream&, ActionType)':
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2050:57: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
 2050 |         StringRef name = cast<StringInit>(lst->getValues()[0])->getValue();
      |                                           ~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2052:53: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
 2052 |           auto min = cast<StringInit>(lst->getValues()[1])->getValue();
      |                                       ~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2058:55: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
 2058 |             auto max = cast<StringInit>(lst->getValues()[2])->getValue();
      |                                         ~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp: In function 'void emitDiffUse(const llvm::RecordKeeper&, llvm::raw_ostream&, ActionType)':
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2942:57: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
 2942 |         StringRef name = cast<StringInit>(lst->getValues()[0])->getValue();
      |                                           ~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2944:53: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
 2944 |           auto min = cast<StringInit>(lst->getValues()[1])->getValue();
      |                                       ~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2953:55: warning: 'llvm::ArrayRef<const llvm::Init*> llvm::ListInit::getValues() const' is deprecated: Use getElements instead [-Wdeprecated-declarations]
 2953 |             auto max = cast<StringInit>(lst->getValues()[2])->getValue();
      |                                         ~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/TableGen/Record.h:780:26: note: declared here
  780 |   ArrayRef<const Init *> getValues() const { return getElements(); }
      |                          ^~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ADT/SmallString.h:18,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ADT/StringExtras.h:19,
                 from /checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:15:
In constructor 'constexpr llvm::StringRef::StringRef(const char*)',
    inlined from 'void emitDiffUse(const llvm::RecordKeeper&, llvm::raw_ostream&, ActionType)' at /checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2891:63:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ADT/StringRef.h:93:69: warning: 'patternNames' may be used uninitialized [-Wmaybe-uninitialized]
   93 |         : StringRef(Str ? std::string_view(Str) : std::string_view()) {}
      |                                                                     ^
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp: In function 'void emitDiffUse(const llvm::RecordKeeper&, llvm::raw_ostream&, ActionType)':
/checkout/src/tools/enzyme/enzyme/tools/enzyme-tblgen/enzyme-tblgen.cpp:2869:15: note: 'patternNames' was declared here
 2869 |   const char *patternNames;
      |               ^~~~~~~~~~~~
---
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[15/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/CacheUtility.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp: In function 'std::pair<llvm::PHINode*, llvm::Instruction*> FindCanonicalIV(llvm::Loop*, llvm::Type*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp:198:22: warning: 'void llvm::Instruction::moveBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
  198 |       Inc->moveBefore(getFirstNonPHIOrDbg(Header));
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugProgramInstruction.h:55,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:23,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:28,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/ScalarEvolution.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.h:33,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp:27:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:246:37: note: declared here
  246 |                            "") void moveBefore(Instruction *MovePos);
      |                                     ^~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp: In function 'void RemoveRedundantIVs(llvm::BasicBlock*, llvm::PHINode*, llvm::Instruction*, MustExitScalarEvolution&, llvm::function_ref<void(llvm::Instruction*, llvm::Value*)>, llvm::function_ref<void(llvm::Instruction*)>)':
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp:259:68: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
  259 |         Exp.expandCodeFor(S, Tmp->getType(), Header->getFirstNonPHI());
      |                                              ~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp:286:64: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
  286 |   Increment->moveAfter(CanonicalIV->getParent()->getFirstNonPHI());
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp: In function 'void CanonicalizeLatches(const llvm::Loop*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::PHINode*, MustExitScalarEvolution&, CacheUtility&, llvm::Instruction*, llvm::ArrayRef<llvm::BasicBlock*>)':
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp:400:66: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
  400 |     Increment->moveAfter(CanonicalIV->getParent()->getFirstNonPHI());
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp: In member function 'void CacheUtility::storeInstructionInCache(LimitContext, llvm::Instruction*, llvm::AllocaInst*, llvm::MDNode*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.cpp:1468:69: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 1468 |                                 ? (inst->getParent()->getFirstNonPHI())
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.h:43,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/CacheUtility.h:52:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
---
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/CApi.cpp:56:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/CFG.h:142:1: warning: multi-line comment [-Wcomment]
  142 | ///  /   \
      | ^
/checkout/src/tools/enzyme/enzyme/Enzyme/CApi.cpp: In function 'void EnzymeMoveBefore(LLVMValueRef, LLVMValueRef, LLVMBuilderRef)':
/checkout/src/tools/enzyme/enzyme/Enzyme/CApi.cpp:1011:19: warning: 'void llvm::Instruction::moveBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 1011 |     I1->moveBefore(I2);
      |     ~~~~~~~~~~~~~~^~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugProgramInstruction.h:55,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:23,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/AliasAnalysis.h:43,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/CApi.cpp:25:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:246:37: note: declared here
  246 |                            "") void moveBefore(Instruction *MovePos);
      |                                     ^~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CApi.cpp: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/CApi.cpp:1147:19: warning: 'ID' initialized and declared 'extern'
 1147 | extern "C++" char MyAttributorLegacyPass::ID = 0;
      |                   ^~~~~~~~~~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[18/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/DiffeGradientUtils.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp: In lambda function:
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:924:34: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  924 |             ptr, PointerType::get(
      |                  ~~~~~~~~~~~~~~~~^
  925 |                      i8, cast<PointerType>(ptr->getType())->getAddressSpace()));
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/ScalarEvolution.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.h:39,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.h:31,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:30:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:931:34: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  931 |             ptr, PointerType::get(
      |                  ~~~~~~~~~~~~~~~~^
  932 |                      addingType,
      |                      ~~~~~~~~~~~  
  933 |                      cast<PointerType>(ptr->getType())->getAddressSpace()));
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp: In member function 'void DiffeGradientUtils::addToInvertedPtrDiffe(llvm::Instruction*, llvm::Value*, llvm::Type*, unsigned int, unsigned int, llvm::Value*, llvm::Value*, llvm::IRBuilder<>&, llvm::MaybeAlign, llvm::Value*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:938:25: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  938 |         PointerType::get(
      |         ~~~~~~~~~~~~~~~~^
  939 |             addingType,
      |             ~~~~~~~~~~~  
  940 |             isa<PointerType>(origptr->getType())
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  941 |                 ? cast<PointerType>(origptr->getType())->getAddressSpace()
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  942 |                 : 0),
      |                 ~~~~     
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp: In lambda function:
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:1025:61: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1025 |                                             PointerType::get(addingType, 1));
      |                                             ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp: In member function 'void DiffeGradientUtils::addToInvertedPtrDiffe(llvm::Instruction*, llvm::Value*, llvm::Type*, unsigned int, unsigned int, llvm::Value*, llvm::Value*, llvm::IRBuilder<>&, llvm::MaybeAlign, llvm::Value*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:1028:42: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1028 |           applyChainRule(PointerType::get(addingType, 1), BuilderM, rule, ptr);
      |                          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp: In member function 'void DiffeGradientUtils::addToInvertedPtrDiffe(llvm::Instruction*, llvm::Value*, TypeTree, unsigned int, llvm::Value*, llvm::Value*, llvm::IRBuilder<>&, llvm::MaybeAlign, llvm::Value*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:1250:33: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1250 |                 PointerType::get(
      |                 ~~~~~~~~~~~~~~~~^
 1251 |                     i8,
      |                     ~~~          
 1252 |                     cast<PointerType>(tostore->getType())->getAddressSpace()));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/DiffeGradientUtils.cpp:1260:31: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1260 |               PointerType::get(
      |               ~~~~~~~~~~~~~~~~^
 1261 |                   AT,
      |                   ~~~          
 1262 |                   cast<PointerType>(tostore->getType())->getAddressSpace()));
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.h:56,
---
      | ^
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/BranchProbabilityInfo.h:88:1: warning: multi-line comment [-Wcomment]
   88 | ///     /   \
      | ^
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In function 'bool {anonymous}::ReplaceOriginalCall(llvm::IRBuilder<>&, llvm::Value*, llvm::Type*, llvm::Value*, llvm::Instruction*, DerivativeMode)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:350:69: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
  350 |     IRBuilder<> EB(CI->getFunction()->getEntryBlock().getFirstNonPHI());
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:28,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/ScalarEvolution.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:31:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In static member function 'static std::optional<{anonymous}::EnzymeBase::Options> {anonymous}::EnzymeBase::handleArguments(llvm::IRBuilder<>&, llvm::CallInst*, llvm::Function*, DerivativeMode, bool, std::vector<DIFFE_TYPE>&, llvm::SmallVectorImpl<llvm::Value*>&, std::map<int, llvm::Type*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:617:37: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  617 |             sretPt, PointerType::get(Ty, pty->getAddressSpace()));
      |                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:621:30: warning: 'void llvm::Instruction::insertBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
  621 |         primalA->insertBefore(CI);
      |         ~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugProgramInstruction.h:55,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:23:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:217:37: note: declared here
  217 |                            "") void insertBefore(Instruction *InsertPos);
      |                                     ^~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:634:39: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  634 |               sretPt, PointerType::get(Ty, pty->getAddressSpace()));
      |                       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:641:33: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  641 |                 PointerType::get(Ty, pty->getAddressSpace()), width));
      |                 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:906:29: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  906 |             PointerType::get(
      |             ~~~~~~~~~~~~~~~~^
  907 |                 subTy, cast<PointerType>(res->getType())->getAddressSpace()));
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1054:44: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1054 |                   element, PointerType::get(Type::getInt8Ty(CI->getContext()),
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1055 |                                             elementPtrTy->getAddressSpace()));
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In member function 'bool {anonymous}::EnzymeBase::HandleBatch(llvm::CallInst*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1374:44: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1374 |                   element, PointerType::get(Type::getInt8Ty(CI->getContext()),
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1375 |                                             elementPtrTy->getAddressSpace()));
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In member function 'bool {anonymous}::EnzymeBase::HandleAutoDiff(llvm::Instruction*, llvm::CallingConv::ID, llvm::Value*, llvm::Type*, llvm::SmallVectorImpl<llvm::Value*>&, const std::map<int, llvm::Type*>&, const std::vector<DIFFE_TYPE>&, llvm::Function*, DerivativeMode, Options&, bool, llvm::SmallVectorImpl<llvm::CallInst*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1681:35: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1681 |             tape, PointerType::get(
      |                   ~~~~~~~~~~~~~~~~^
 1682 |                       tapeType,
      |                       ~~~~~~~~~    
 1683 |                       cast<PointerType>(tape->getType())->getAddressSpace()));
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1757:33: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1757 |                 PointerType::get(
      |                 ~~~~~~~~~~~~~~~~^
 1758 |                     tapeRes->getType(),
      |                     ~~~~~~~~~~~~~~~~~~~
 1759 |                     cast<PointerType>(tape->getType())->getAddressSpace())));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In member function 'bool {anonymous}::EnzymeBase::HandleProbProg(llvm::CallInst*, ProbProgMode, llvm::SmallVectorImpl<llvm::CallInst*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1896:62: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 1896 |     IRBuilder<> AllocaBuilder(CI->getParent()->getFirstNonPHI());
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In member function 'bool {anonymous}::EnzymeBase::lowerEnzymeCalls(llvm::Function&, std::set<llvm::Function*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:2086:29: warning: 'llvm::InsertPosition::InsertPosition(llvm::Instruction*)' is deprecated: Use BasicBlock::iterators for insertion instead [-Wdeprecated-declarations]
 2086 |             CallInst::Create(II->getFunctionType(), II->getCalledOperand(),
      |             ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2087 |                              CallArgs, OpBundles, "", II);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:58:7: note: declared here
   58 |       InsertPosition(Instruction *InsertBefore);
      |       ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:2095:27: warning: 'llvm::InsertPosition::InsertPosition(llvm::Instruction*)' is deprecated: Use BasicBlock::iterators for insertion instead [-Wdeprecated-declarations]
 2095 |         BranchInst::Create(II->getNormalDest(), II);
      |         ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:58:7: note: declared here
   58 |       InsertPosition(Instruction *InsertBefore);
      |       ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:2509:33: warning: 'void llvm::Instruction::insertBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 2509 |             cloned->insertBefore(B1);
      |             ~~~~~~~~~~~~~~~~~~~~^~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:217:37: note: declared here
  217 |                            "") void insertBefore(Instruction *InsertPos);
      |                                     ^~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:2513:27: warning: 'void llvm::Instruction::moveBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 2513 |             CI->moveBefore(B2);
      |             ~~~~~~~~~~~~~~^~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:246:37: note: declared here
  246 |                            "") void moveBefore(Instruction *MovePos);
      |                                     ^~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:2516:49: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 2516 |               IRBuilder<> P(post->getFirstNonPHI());
      |                             ~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.h:56,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/ActivityAnalysis.h:49,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:76:
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
In file included from /usr/include/c++/13/map:63,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:58:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) const [with _Key = AugmentedStruct; _Tp = int; _Compare = std::less<AugmentedStruct>; _Alloc = std::allocator<std::pair<const AugmentedStruct, int> >]',
    inlined from 'bool {anonymous}::EnzymeBase::HandleAutoDiff(llvm::Instruction*, llvm::CallingConv::ID, llvm::Value*, llvm::Type*, llvm::SmallVectorImpl<llvm::Value*>&, const std::map<int, llvm::Type*>&, const std::vector<DIFFE_TYPE>&, llvm::Function*, DerivativeMode, Options&, bool, llvm::SmallVectorImpl<llvm::CallInst*>&)' at /checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1744:28:
/usr/include/c++/13/bits/stl_map.h:1245:25: warning: 'aug' may be used uninitialized [-Wmaybe-uninitialized]
 1245 |       { return _M_t.find(__x); }
      |                ~~~~~~~~~^~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp: In member function 'bool {anonymous}::EnzymeBase::HandleAutoDiff(llvm::Instruction*, llvm::CallingConv::ID, llvm::Value*, llvm::Type*, llvm::SmallVectorImpl<llvm::Value*>&, const std::map<int, llvm::Type*>&, const std::vector<DIFFE_TYPE>&, llvm::Function*, DerivativeMode, Options&, bool, llvm::SmallVectorImpl<llvm::CallInst*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Enzyme.cpp:1473:28: note: 'aug' was declared here
 1473 |     const AugmentedReturn *aug;
      |                            ^~~
[21/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/FixupJuliaCallingConvention.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/FixupJuliaCallingConvention.cpp: In function 'bool needsReRooting(llvm::Argument*, bool&, llvm::Type*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/FixupJuliaCallingConvention.cpp:85:69: warning: 'static llvm::PointerType* llvm::PointerType::getUnqual(llvm::Type*)' is deprecated: PointerType::getUnqual with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
   85 |         auto nullp = ConstantPointerNull::get(PointerType::getUnqual(SRetType));
      |                                               ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/ScalarEvolution.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.h:35,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/FixupJuliaCallingConvention.cpp:2:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:722:23: note: declared here
  722 |   static PointerType *getUnqual(Type *ElementType) {
      |                       ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FixupJuliaCallingConvention.cpp:88:67: warning: 'static llvm::PointerType* llvm::PointerType::getUnqual(llvm::Type*)' is deprecated: PointerType::getUnqual with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
   88 |         if (gep == ConstantPointerNull::get(PointerType::getUnqual(PT))) {
      |                                             ~~~~~~~~~~~~~~~~~~~~~~^~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:722:23: note: declared here
  722 |   static PointerType *getUnqual(Type *ElementType) {
      |                       ^~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FixupJuliaCallingConvention.cpp: In function 'void EnzymeFixupJuliaCallingConvention(llvm::Function*, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/FixupJuliaCallingConvention.cpp:685:38: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  685 |   auto T_prjlvalue = PointerType::get(T_jlvalue, AddressSpace::Tracked);
      |                      ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.h:43:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[22/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/FunctionUtils.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp: In function 'void RecursivelyReplaceAddressSpace(llvm::SmallVector<std::tuple<llvm::Value*, llvm::Value*, llvm::Instruction*>, 1>&, llvm::SmallVector<llvm::Instruction*, 1>&, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:503:33: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  503 |                 PointerType::get(StructType::get(SI->getContext(), {}), 10);
      |                 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/ScalarEvolution.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.h:35,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:25:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp: In function 'void SimplifyMPIQueries(llvm::Function&, llvm::FunctionAnalysisManager&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:1376:59: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 1376 |       B.SetInsertPoint(II->getNormalDest()->getFirstNonPHI());
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:28:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:1392:61: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 1392 |         B.SetInsertPoint(II->getNormalDest()->getFirstNonPHI());
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp: In function 'std::optional<std::__cxx11::basic_string<char> > fixSparse_inner(llvm::Instruction*, llvm::Function&, QueueType&, llvm::DominatorTree&, llvm::ScalarEvolution&, llvm::LoopInfo&, const llvm::DataLayout&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:6404:53: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 6404 |     B.SetInsertPoint(PN->getParent()->getFirstNonPHI());
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:6429:53: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 6429 |         auto point = PN->getParent()->getFirstNonPHI();
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:6945:30: warning: 'void llvm::Instruction::moveBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 6945 |           (*iter)->moveBefore(br);
      |           ~~~~~~~~~~~~~~~~~~~^~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugProgramInstruction.h:55,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:23:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:246:37: note: declared here
  246 |                            "") void moveBefore(Instruction *MovePos);
      |                                     ^~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp: In function 'void fixSparseIndices(llvm::Function&, llvm::FunctionAnalysisManager&, llvm::SetVector<llvm::BasicBlock*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.cpp:8397:51: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 8397 |       IRBuilder<> B(L->getHeader()->getFirstNonPHI());
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/FunctionUtils.h:43:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
---
[26/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/EnzymeLogic.cpp.o
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/AdjointGenerator.h:4215,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:32:
/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build/Enzyme/BlasDerivatives.inc: In lambda function:
/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build/Enzyme/BlasDerivatives.inc:7050:35: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 7050 |           tozero, PointerType::get(Type::getInt8Ty(PT->getContext()),
      |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 7051 |                                    PT->getAddressSpace()));
      |                                    ~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:29,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.h:37,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:30:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp: In function 'void cleanupInversionAllocs(DiffeGradientUtils*, llvm::BasicBlock*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1809:23: warning: 'void llvm::Instruction::moveBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 1809 |       inst->moveBefore(&gutils->newFunc->getEntryBlock().front());
      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugProgramInstruction.h:55,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:23,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:246:37: note: declared here
  246 |                            "") void moveBefore(Instruction *MovePos);
      |                                     ^~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp: In function 'void restoreCache(DiffeGradientUtils*, const std::map<std::pair<llvm::Instruction*, CacheType>, int>&, const llvm::SmallPtrSetImpl<llvm::BasicBlock*>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1847:67: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 1847 |               cast<Instruction>(newi)->getParent()->getFirstNonPHI());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp: In member function 'const AugmentedReturn& EnzymeLogic::CreateAugmentedPrimal(RequestContext, llvm::Function*, DIFFE_TYPE, llvm::ArrayRef<DIFFE_TYPE>, TypeAnalysis&, bool, bool, const FnTypeInfo&, bool, std::vector<bool>, bool, bool, bool, unsigned int, bool, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:2615:71: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 2615 |                   cast<Instruction>(newi)->getParent()->getFirstNonPHI());
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:2909:54: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 2909 |   IRBuilder<> ib(NewF->getEntryBlock().getFirstNonPHI());
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:2977:62: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 2977 |           ib.SetInsertPoint(inst->getParent()->getFirstNonPHI());
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp: In member function 'llvm::Function* EnzymeLogic::CreatePrimalAndGradient(RequestContext, const ReverseCacheKey&&, TypeAnalysis&, const AugmentedReturn*, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3816:35: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 3816 |             tape, PointerType::get(
      |                   ~~~~~~~~~~~~~~~~^
 3817 |                       aug.tapeType,
      |                       ~~~~~~~~~~~~~
 3818 |                       cast<PointerType>(tape->getType())->getAddressSpace()));
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:4352:29: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 4352 |             PointerType::get(augmenteddata->tapeType,
      |             ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 4353 |                              cast<PointerType>(additionalValue->getType())
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4354 |                                  ->getAddressSpace()));
      |                                  ~~~~~~~~~~~~~~~~~~~~
---
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:5218:28: warning: 'void llvm::Instruction::insertBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 5218 |       ClonedI->insertBefore(Return);
      |       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:217:37: note: declared here
  217 |                            "") void insertBefore(Instruction *InsertPos);
      |                                     ^~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp: In member function 'llvm::Function* EnzymeLogic::CreateBatch(RequestContext, llvm::Function*, unsigned int, llvm::ArrayRef<BATCH_TYPE>, BATCH_TYPE)':
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:5989:45: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 5989 |   IRBuilder<> Builder2(entry->getFirstNonPHI());
      |                        ~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.h:56,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/ActivityAnalysis.h:49,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.h:47:
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp: In member function 'const AugmentedReturn& EnzymeLogic::CreateAugmentedPrimal(RequestContext, llvm::Function*, DIFFE_TYPE, llvm::ArrayRef<DIFFE_TYPE>, TypeAnalysis&, bool, bool, const FnTypeInfo&, bool, std::vector<bool>, bool, bool, bool, unsigned int, bool, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:2981:29: warning: 'tapeMemory' may be used uninitialized [-Wmaybe-uninitialized]
 2981 |           gep = ib.CreateGEP(tapeType, tapeMemory, Idxs, "");
      |                 ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/EnzymeLogic.cpp:2914:12: note: 'tapeMemory' was declared here
 2914 |     Value *tapeMemory;
      |            ^~~~~~~~~~
[27/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/GradientUtils.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp: In member function 'llvm::Value* GradientUtils::getOrInsertTotalMultiplicativeProduct(llvm::Value*, LoopContext&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:487:52: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
  487 |   lbuilder.SetInsertPoint(lc.header->getFirstNonPHI());
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:28,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/ScalarEvolution.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.h:39,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:33:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp: In lambda function:
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:5048:31: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 5048 |               PointerType::get(
      |               ~~~~~~~~~~~~~~~~^
 5049 |                   i8, cast<PointerType>(ptr->getType())->getAddressSpace()));
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:5056:31: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 5056 |               PointerType::get(
      |               ~~~~~~~~~~~~~~~~^
 5057 |                   i8, cast<PointerType>(valptr->getType())->getAddressSpace()));
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:5075:34: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 5075 |             ptr, PointerType::get(
      |                  ~~~~~~~~~~~~~~~~^
 5076 |                      ty, cast<PointerType>(ptr->getType())->getAddressSpace()));
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:5079:29: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 5079 |             PointerType::get(
      |             ~~~~~~~~~~~~~~~~^
 5080 |                 ty, cast<PointerType>(valptr->getType())->getAddressSpace()));
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:5090:44: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 5090 |         auto T_prjlvalue = PointerType::get(T_jlvalue, 10);
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp: In member function 'llvm::Value* GradientUtils::invertPointerM(llvm::Value*, llvm::IRBuilder<>&, TypeTree)':
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:6471:62: warning: 'llvm::Instruction* llvm::BasicBlock::getFirstNonPHI()' is deprecated: Use iterators as instruction positions instead [-Wdeprecated-declarations]
 6471 |         IRBuilder<> postPhi(NewV->getParent()->getFirstNonPHI());
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:284:61: note: declared here
  284 |                            "getFirstNonPHIIt") Instruction *getFirstNonPHI();
      |                                                             ^~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp: In function 'void SubTransferHelper(GradientUtils*, DerivativeMode, llvm::Type*, llvm::Intrinsic::ID, unsigned int, unsigned int, unsigned int, bool, llvm::Value*, llvm::Value*, bool, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::CallInst*, bool, bool, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:9108:37: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 9108 |               dsto, PointerType::get(secretty, dstaddr));
      |                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:9120:37: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 9120 |               srco, PointerType::get(secretty, srcaddr));
      |                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:9138:58: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 9138 |                                          PointerType::get(secretty, dstaddr)),
      |                                          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/GradientUtils.cpp:9140:58: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 9140 |                                          PointerType::get(secretty, srcaddr)),
      |                                          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
[28/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/PreserveNVVM.cpp.o
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/PreserveNVVM.cpp:49:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/PreserveNVVM.cpp: In function 'bool preserveNVVM(bool, llvm::Module&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/PreserveNVVM.cpp:939:19: warning: 'val' may be used uninitialized [-Wmaybe-uninitialized]
  939 |       F.setLinkage((Function::LinkageTypes)val);
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/PreserveNVVM.cpp:937:15: note: 'val' was declared here
  937 |       int64_t val;
      |               ^~~
[29/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/SimpleGVN.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp: In function 'llvm::Value* {anonymous}::extractValue(llvm::IRBuilder<>&, llvm::Value*, llvm::Type*, const llvm::DataLayout&, llvm::APInt, llvm::APInt, uint64_t)':
/checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp:127:45: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  127 |         Type *T_prjlvalue = PointerType::get(T_jlvalue, 11); // Derived is 11
      |                             ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Constants.h:29,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp:61:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp:128:44: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  128 |         Type *T_pjlvalue = PointerType::get(T_jlvalue, 0);
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp:136:38: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  136 |           StoredVal, PointerType::get(T_jlvalue, 11));
      |                      ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp:190:47: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  190 |         Type *PtrAddrSpace0 = PointerType::get(EmptyStructTy, 0);
      |                               ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/SimpleGVN.cpp:87:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[30/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/TraceInterface.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceInterface.cpp: In member function 'llvm::Function* DynamicTraceInterface::MaterializeInterfaceFunction(llvm::IRBuilder<>&, llvm::Value*, llvm::FunctionType*, unsigned int, llvm::Module&, const llvm::Twine&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceInterface.cpp:371:30: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  371 |   auto pty = PointerType::get(FTy, load->getPointerAddressSpace());
      |              ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantFold.h:24,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantFolder.h:21,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/IRBuilder.h:24,
---
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstVisitor.h:13,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.h:29:
In constructor 'llvm::Twine::Twine(const char*)',
    inlined from 'void TraceGenerator::handleSampleCall(llvm::CallInst&, llvm::CallInst*)' at /checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.cpp:216:7:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ADT/Twine.h:258:14: warning: 'mode_str' may be used uninitialized [-Wmaybe-uninitialized]
  258 |     if (Str[0] != '\0') {
      |         ~~~~~^
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.cpp: In member function 'void TraceGenerator::handleSampleCall(llvm::CallInst&, llvm::CallInst*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.cpp:203:15: note: 'mode_str' was declared here
  203 |   const char *mode_str;
      |               ^~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.cpp: In member function 'void TraceGenerator::handleArbitraryCall(llvm::CallInst&, llvm::CallInst*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.cpp:393:24: warning: 'replacement' may be used uninitialized [-Wmaybe-uninitialized]
  393 |   replacement->takeName(new_call);
      |   ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceGenerator.cpp:303:16: note: 'replacement' was declared here
  303 |   Instruction *replacement;
      |                ^~~~~~~~~~~
[32/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/TraceUtils.cpp.o
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/TraceUtils.h:41,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TraceUtils.cpp:27:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:18,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TraceUtils.h:32:
In constructor 'llvm::Twine::Twine(const char*)',
    inlined from 'static TraceUtils* TraceUtils::FromClone(ProbProgMode, const llvm::SmallPtrSetImpl<llvm::Function*>&, const llvm::SmallPtrSetImpl<llvm::Function*>&, TraceInterface*, llvm::Function*, llvm::ValueToValueMapTy&)' at /checkout/src/tools/enzyme/enzyme/Enzyme/TraceUtils.cpp:102:7:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ADT/Twine.h:258:14: warning: 'mode_str' may be used uninitialized [-Wmaybe-uninitialized]
  258 |     if (Str[0] != '\0') {
      |         ~~~~~^
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceUtils.cpp: In static member function 'static TraceUtils* TraceUtils::FromClone(ProbProgMode, const llvm::SmallPtrSetImpl<llvm::Function*>&, const llvm::SmallPtrSetImpl<llvm::Function*>&, TraceInterface*, llvm::Function*, llvm::ValueToValueMapTy&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TraceUtils.cpp:87:15: note: 'mode_str' was declared here
   87 |   const char *mode_str;
      |               ^~~~~~~~
[33/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/TypeAnalysis/TypeTree.cpp.o
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeTree.h:41,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeTree.cpp:36:
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
---
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[35/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/TypeAnalysis/RustDebugInfo.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/RustDebugInfo.cpp: In function 'TypeTree parseDIType(llvm::DICompositeType&, llvm::Instruction&, llvm::DataLayout&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/RustDebugInfo.cpp:68:63: warning: 'T llvm::PointerUnion<PTs>::get() const [with T = llvm::ConstantInt*; PTs = {llvm::ConstantInt*, llvm::DIVariable*, llvm::DIExpression*}]' is deprecated: Use cast instead [-Wdeprecated-declarations]
   68 |       if (auto Count = Subrange->getCount().get<ConstantInt *>()) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugInfoMetadata.h:18,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DIBuilder.h:24,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/RustDebugInfo.cpp:27:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/ADT/PointerUnion.h:155:12: note: declared here
---
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[36/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/Utils.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'llvm::Function* getOrInsertExponentialAllocator(llvm::Module&, llvm::Function*, bool, llvm::Type*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:544:25: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  544 |         PointerType::get(Type::getInt8Ty(gVal->getContext()),
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  545 |                          cast<PointerType>(gVal->getType())->getAddressSpace());
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:29,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Analysis/AliasAnalysis.h:43,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:32,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:25:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'llvm::Value* CreateAllocation(llvm::IRBuilder<>&, llvm::Type*, llvm::Value*, const llvm::Twine&, llvm::CallInst**, llvm::Instruction**, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:728:35: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
  728 |           tozero, PointerType::get(Type::getInt8Ty(PT->getContext()),
      |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  729 |                                    PT->getAddressSpace()));
      |                                    ~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'llvm::Function* getOrInsertDifferentialFloatMemcpy(llvm::Module&, llvm::Type*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1027:49: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1027 |   std::vector<Type *> argTys = {PointerType::get(elementType, dstaddr),
      |                                 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1028:49: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1028 |                                 PointerType::get(elementType, srcaddr),
      |                                 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1093:32: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1093 |           dst, PointerType::get(Type::getInt8Ty(M.getContext()), dstaddr));
      |                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'void callSPMVDiagUpdate(llvm::IRBuilder<>&, llvm::Module&, BlasInfo, llvm::IntegerType*, llvm::Type*, llvm::Type*, llvm::Type*, llvm::Type*, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::ArrayRef<llvm::OperandBundleDefT<llvm::Value*> >, bool, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1491:27: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1491 |           PointerType::get(
      |           ~~~~~~~~~~~~~~~~^
 1492 |               fpTy,
      |               ~~~~~        
 1493 |               cast<PointerType>(blasalpha->getType())->getAddressSpace()));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1502:25: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1502 |         PointerType::get(
      |         ~~~~~~~~~~~~~~~~^
 1503 |             fpTy, cast<PointerType>(blasx->getType())->getAddressSpace()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1506:25: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1506 |         PointerType::get(
      |         ~~~~~~~~~~~~~~~~^
 1507 |             fpTy, cast<PointerType>(blasdy->getType())->getAddressSpace()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1510:25: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1510 |         PointerType::get(
      |         ~~~~~~~~~~~~~~~~^
 1511 |             fpTy, cast<PointerType>(blasdAP->getType())->getAddressSpace()));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'llvm::CallInst* getorInsertInnerProd(llvm::IRBuilder<>&, llvm::Module&, BlasInfo, llvm::IntegerType*, llvm::Type*, llvm::Type*, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::ArrayRef<llvm::OperandBundleDefT<llvm::Value*> >, bool, bool, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1670:31: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1670 |         matA, PointerType::get(
      |               ~~~~~~~~~~~~~~~~^
 1671 |                   fpTy, cast<PointerType>(matA->getType())->getAddressSpace()));
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:1673:31: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 1673 |         matB, PointerType::get(
      |               ~~~~~~~~~~~~~~~~^
 1674 |                   fpTy, cast<PointerType>(matB->getType())->getAddressSpace()));
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'llvm::Value* load_if_ref(llvm::IRBuilder<>&, llvm::Type*, llvm::Value*, bool)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:4124:28: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 4124 |         V, PointerType::get(
      |            ~~~~~~~~~~~~~~~~^
 4125 |                intType, cast<PointerType>(V->getType())->getAddressSpace()));
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp: In function 'llvm::Value* moveSRetToFromRoots(llvm::IRBuilder<>&, llvm::Type*, llvm::Value*, llvm::Type*, llvm::Value*, size_t, SRetRootMovement)':
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:4794:37: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 4794 |             outloc, PointerType::get(StructType::get(outloc->getContext(), {}),
      |                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4795 |                                      Tracked));
      |                                      ~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.cpp:4861:34: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 4861 |       auto JLT = PointerType::get(StructType::get(PT->getContext(), {}), 10);
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DerivedTypes.h:713:32: note: declared here
  713 |   LLVM_ABI static PointerType *get(Type *ElementType, unsigned AddressSpace);
      |                                ^~~
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
[37/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/TypeAnalysis/TypeAnalysis.cpp.o
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp: In function 'void getConstantAnalysis(llvm::Constant*, TypeAnalyzer&, std::map<llvm::Value*, TypeTree>&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:858:20: warning: 'void llvm::Instruction::insertBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
  858 |     I->insertBefore(TA.fntypeinfo.Function->getEntryBlock().getTerminator());
      |     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/DebugProgramInstruction.h:55,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/BasicBlock.h:23,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Function.h:27,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:28,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Constants.h:29,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:33:
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:217:37: note: declared here
  217 |                            "") void insertBefore(Instruction *InsertPos);
      |                                     ^~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp: In member function 'void TypeAnalyzer::visitConstantExpr(llvm::ConstantExpr&)':
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:1777:18: warning: 'void llvm::Instruction::insertBefore(llvm::Instruction*)' is deprecated: Use iterators as instruction positions [-Wdeprecated-declarations]
 1777 |   I->insertBefore(fntypeinfo.Function->getEntryBlock().getTerminator());
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/Instruction.h:217:37: note: declared here
  217 |                            "") void insertBefore(Instruction *InsertPos);
      |                                     ^~~~~~~~~~~~
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../TypeAnalysis/TypeAnalysis.h:56,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../ActivityAnalysis.h:49,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../EnzymeLogic.h:47,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:54:
---
[38/40] Building CXX object Enzyme/CMakeFiles/Enzyme-22.dir/CallDerivatives.cpp.o
In file included from /checkout/src/tools/enzyme/enzyme/Enzyme/AdjointGenerator.h:4215,
                 from /checkout/src/tools/enzyme/enzyme/Enzyme/CallDerivatives.cpp:27:
/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build/Enzyme/BlasDerivatives.inc: In lambda function:
/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build/Enzyme/BlasDerivatives.inc:7050:35: warning: 'static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int)' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
 7050 |           tozero, PointerType::get(Type::getInt8Ty(PT->getContext()),
      |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 7051 |                                    PT->getAddressSpace()));
      |                                    ~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/InstrTypes.h:26,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/IR/ConstantRange.h:35,
---
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h: At global scope:
/checkout/src/tools/enzyme/enzyme/Enzyme/TypeAnalysis/../Utils.h:2555:13: warning: 'bool hasTerminator(llvm::BasicBlock*)' defined but not used [-Wunused-function]
 2555 | static bool hasTerminator(llvm::BasicBlock *BB) {
      |             ^~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CallDerivatives.cpp: In member function 'bool AdjointGenerator::handleKnownCallDerivatives(llvm::CallInst&, llvm::Function*, llvm::StringRef, bool, const std::vector<bool>&, llvm::CallInst*)':
/checkout/src/tools/enzyme/enzyme/Enzyme/CallDerivatives.cpp:3952:42: warning: 'val' may be used uninitialized [-Wmaybe-uninitialized]
 3952 |           Value *tofree = gutils->lookupM(val, Builder2, ValueToValueMapTy(),
      |                           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3953 |                                           /*tryLegalRecompute*/ false);
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/src/tools/enzyme/enzyme/Enzyme/CallDerivatives.cpp:3835:12: note: 'val' was declared here
 3835 |     Value *val;
      |            ^~~
[39/40] Linking CXX shared library Enzyme/libEnzyme-22.so
---

---- [codegen] tests/codegen-llvm/autodiff/batched.rs stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/autodiff/batched.rs:24:11: error: CHECK: expected string not found in input
// CHECK: define internal fastcc float @fwddiffesquare(float %x.0.val, float %"x'.0.val")
          ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/batched/batched.ll:1:1: note: scanning from here
; ModuleID = 'batched.5a9850c24fe93b20-cgu.0'
^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/batched/batched.ll
Check file: /checkout/tests/codegen-llvm/autodiff/batched.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1: ; ModuleID = 'batched.5a9850c24fe93b20-cgu.0' 
check:24     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
          2: source_filename = "batched.5a9850c24fe93b20-cgu.0" 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          4: target triple = "x86_64-unknown-linux-gnu" 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          5:  
check:24     ~
          6: @vtable.0 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRfNtB6_5Debug3fmtCs7MezcIbiEXk_7batched }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          7: @vtable.1 = private unnamed_addr constant <{ [24 x i8], ptr, ptr, ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @_RNSNvYNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0INtNtNtCsbz6S9NqEluu_4core3ops8function6FnOnceuE9call_once6vtableCs7MezcIbiEXk_7batched, ptr @_RNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0Cs7MezcIbiEXk_7batched, ptr @_RNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0Cs7MezcIbiEXk_7batched }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          8: @enzyme_primal_return = external global ptr 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          9: @enzyme_dup = external global ptr 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         10: @enzyme_width = external global ptr 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         11: @vtable.2 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRRfNtB6_5Debug3fmtCs7MezcIbiEXk_7batched }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         12: @alloc_17d9019cf4a5fd6121cc4d3ed7d4dd1e = private unnamed_addr constant [75 x i8] c"B[/checkout/tests/codegen-llvm/autodiff/batched.rs:42:5] &output = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         13: @alloc_fba2081d8f6555a331911c39e6e640db = private unnamed_addr constant [4 x i8] c"\00\00\10A", align 4 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         14: @alloc_bb3658b56b83cf8e47631ed580da66dd = private unnamed_addr constant [49 x i8] c"/checkout/tests/codegen-llvm/autodiff/batched.rs\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         15: @alloc_698c9ac5d9d36ba55f022bd6a86138ed = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00+\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         16: @alloc_129cfd0f7e7886990634ed1c7f190b68 = private unnamed_addr constant [78 x i8] c"E[/checkout/tests/codegen-llvm/autodiff/batched.rs:44:5] square(&x) = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         17: @alloc_04495a8ada697f38101ba049e621f332 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o1 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         18: @alloc_84a3ab99bcc98dc559e90827ccc40240 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o2 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         19: @alloc_56f85e61c6fa7619d73e42b4e900018d = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o3 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         20: @alloc_613c30addc47049f7b5dc23b3951f674 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o4 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         21: @alloc_4ca051d99091dd83dd9d04af7f5cd112 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o1 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         22: @alloc_c446e79676ec9a28bc6d805b7877757d = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o2 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         23: @alloc_2c02decdd4113e95fae93be8067dac4e = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o3 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         24: @alloc_bb5a713e9cccaddf0acfd975544cd137 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o4 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         25: @alloc_9e7b90594be711b1df0c773ad1a388c1 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\007\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         26: @alloc_a3dc311289653b738aa1e84e47ad19cf = private unnamed_addr constant [42 x i8] c"assertion failed: (6.0 - o1).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         27: @alloc_e9fd7723b23e3e7d6486bf3256fd5464 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\008\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         28: @alloc_efecaa1b9b810ce3247f0d0369be2183 = private unnamed_addr constant [43 x i8] c"assertion failed: (12.0 - o2).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         29: @alloc_aa181c32287fb84a82a02c9d66032f25 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\009\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         30: @alloc_e8703f1d4107508162f7fb956d3d6d9e = private unnamed_addr constant [43 x i8] c"assertion failed: (18.0 - o3).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         31: @alloc_427980fbe25cea272c523fe0a3868d2f = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00:\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         32: @alloc_e3948f761dc2eeb3db88ed614d07c65b = private unnamed_addr constant [42 x i8] c"assertion failed: (0.0 - o4).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         33: @alloc_b7243140f53a93a4665930a54a0a35b9 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00;\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         34: @alloc_4af3eb2f836f77477ff0610a2b7297aa = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00@\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         35: @alloc_9edd77c1cde8ec02464250912bd1b6e5 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00A\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         36: @alloc_9c12d3b2f9224b984edae0581e425feb = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00B\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         37: @alloc_cbb0ade26fa0dd66dddf0ca4fc3c2090 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00C\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         38:  
check:24     ~
         39: ; core::panicking::assert_failed::<f32, f32> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         40: ; Function Attrs: cold minsize noinline noreturn nonlazybind optsize uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         41: define internal fastcc void @_RINvNtCsbz6S9NqEluu_4core9panicking13assert_failedffECs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 4 captures(address, read_provenance) dereferenceable(4) %0, ptr noalias nofree noundef nonnull readonly align 4 captures(address, read_provenance) dereferenceable(4) %1, ptr noalias nofree noundef readonly align 8 captures(address, read_provenance) dereferenceable(24) %2) unnamed_addr #0 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         42: start: 
check:24     ~~~~~~~
         43:  %right = alloca [8 x i8], align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         44:  %left = alloca [8 x i8], align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         45:  store ptr %0, ptr %left, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         46:  store ptr %1, ptr %right, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         47: ; call core::panicking::assert_failed_inner 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         48:  call void @_RNvNtCsbz6S9NqEluu_4core9panicking19assert_failed_inner(i8 noundef 0, ptr noundef nonnull %left, ptr noalias nofree noundef readonly align 8 captures(address, read_provenance) dereferenceable(32) @vtable.0, ptr noundef nonnull %right, ptr noalias nofree noundef readonly align 8 captures(address, read_provenance) dereferenceable(32) @vtable.0, ptr noundef null, ptr undef, ptr noalias nofree noundef nonnull readonly align 8 captures(address, read_provenance) dereferenceable(24) %2) #13 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         49:  unreachable 
check:24     ~~~~~~~~~~~~~
         50: } 
check:24     ~~
         51:  
check:24     ~
         52: ; std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         53: ; Function Attrs: noinline nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         54: define internal fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECs7MezcIbiEXk_7batched(ptr noundef nonnull readonly captures(none) %f) unnamed_addr #1 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         55: start: 
check:24     ~~~~~~~
         56:  tail call void %f() 
check:24     ~~~~~~~~~~~~~~~~~~~~~
         57:  tail call void asm sideeffect "", "~{memory}"() #14, !srcloc !5 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         58:  ret void 
check:24     ~~~~~~~~~~
         59: } 
check:24     ~~
         60:  
check:24     ~
         61: ; std::rt::lang_start::<()>::{closure#0} 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         62: ; Function Attrs: inlinehint nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         63: define internal noundef i32 @_RNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0Cs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 8 captures(none) dereferenceable(8) %_1) unnamed_addr #2 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         64: start: 
check:24     ~~~~~~~
         65:  %_4 = load ptr, ptr %_1, align 8, !nonnull !6, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         66: ; call std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         67:  tail call fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECs7MezcIbiEXk_7batched(ptr noundef nonnull %_4) #15 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         68:  ret i32 0 
check:24     ~~~~~~~~~~~
         69: } 
check:24     ~~
         70:  
check:24     ~
         71: ; <std::rt::lang_start<()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         72: ; Function Attrs: inlinehint nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         73: define internal noundef i32 @_RNSNvYNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0INtNtNtCsbz6S9NqEluu_4core3ops8function6FnOnceuE9call_once6vtableCs7MezcIbiEXk_7batched(ptr noundef readonly captures(none) %_1) unnamed_addr #2 personality ptr @rust_eh_personality { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         74: start: 
check:24     ~~~~~~~
         75:  %0 = load ptr, ptr %_1, align 8, !nonnull !6, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         76: ; call std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         77:  tail call fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECs7MezcIbiEXk_7batched(ptr noundef nonnull readonly %0) #15, !noalias !7 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         78:  ret i32 0 
check:24     ~~~~~~~~~~~
         79: } 
check:24     ~~
         80:  
check:24     ~
         81: ; <&dyn core::fmt::Debug as core::fmt::Debug>::fmt 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         82: ; Function Attrs: nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         83: define internal noundef zeroext i1 @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRDNtB6_5DebugEL_Bx_3fmtCs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 8 captures(none) dereferenceable(16) %self, ptr noalias nofree noundef align 8 dereferenceable(24) %f) unnamed_addr #3 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         84: start: 
check:24     ~~~~~~~
         85:  %_3.0 = load ptr, ptr %self, align 8, !nonnull !6, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         86:  %0 = getelementptr inbounds nuw i8, ptr %self, i64 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         87:  %_3.1 = load ptr, ptr %0, align 8, !nonnull !6, !align !10, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         88:  %1 = getelementptr inbounds nuw i8, ptr %_3.1, i64 24 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         89:  %2 = load ptr, ptr %1, align 8, !invariant.load !6, !nonnull !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         90:  %_0 = tail call noundef zeroext i1 %2(ptr noundef nonnull %_3.0, ptr noalias nofree noundef nonnull align 8 dereferenceable(24) %f) #16 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         91:  ret i1 %_0 
check:24     ~~~~~~~~~~~~
         92: } 
check:24     ~~
         93:  
check:24     ~
         94: ; <&&f32 as core::fmt::Debug>::fmt 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         95: ; Function Attrs: nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         96: define internal noundef zeroext i1 @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRRfNtB6_5Debug3fmtCs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 8 captures(none) dereferenceable(8) %self, ptr noalias nofree noundef align 8 dereferenceable(24) %f) unnamed_addr #3 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         97: start: 
check:24     ~~~~~~~
         98:  %_3 = load ptr, ptr %self, align 8, !nonnull !6, !align !10, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         99:  tail call void @llvm.experimental.noalias.scope.decl(metadata !11) 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        100:  %_3.i = load ptr, ptr %_3, align 8, !alias.scope !11, !noalias !14, !nonnull !6, !align !16, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        101: ; call <f32 as core::fmt::Debug>::fmt 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          .
          .
          .
>>>>>>

------------------------------------------

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/batched/batched.ll" "/checkout/tests/codegen-llvm/autodiff/batched.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/autodiff/batched.rs:24:11: error: CHECK: expected string not found in input
// CHECK: define internal fastcc float @fwddiffesquare(float %x.0.val, float %"x'.0.val")
          ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/batched/batched.ll:1:1: note: scanning from here
; ModuleID = 'batched.5a9850c24fe93b20-cgu.0'
^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/batched/batched.ll
Check file: /checkout/tests/codegen-llvm/autodiff/batched.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1: ; ModuleID = 'batched.5a9850c24fe93b20-cgu.0' 
check:24     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
          2: source_filename = "batched.5a9850c24fe93b20-cgu.0" 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          4: target triple = "x86_64-unknown-linux-gnu" 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          5:  
check:24     ~
          6: @vtable.0 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRfNtB6_5Debug3fmtCs7MezcIbiEXk_7batched }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          7: @vtable.1 = private unnamed_addr constant <{ [24 x i8], ptr, ptr, ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @_RNSNvYNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0INtNtNtCsbz6S9NqEluu_4core3ops8function6FnOnceuE9call_once6vtableCs7MezcIbiEXk_7batched, ptr @_RNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0Cs7MezcIbiEXk_7batched, ptr @_RNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0Cs7MezcIbiEXk_7batched }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          8: @enzyme_primal_return = external global ptr 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          9: @enzyme_dup = external global ptr 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         10: @enzyme_width = external global ptr 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         11: @vtable.2 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRRfNtB6_5Debug3fmtCs7MezcIbiEXk_7batched }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         12: @alloc_17d9019cf4a5fd6121cc4d3ed7d4dd1e = private unnamed_addr constant [75 x i8] c"B[/checkout/tests/codegen-llvm/autodiff/batched.rs:42:5] &output = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         13: @alloc_fba2081d8f6555a331911c39e6e640db = private unnamed_addr constant [4 x i8] c"\00\00\10A", align 4 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         14: @alloc_bb3658b56b83cf8e47631ed580da66dd = private unnamed_addr constant [49 x i8] c"/checkout/tests/codegen-llvm/autodiff/batched.rs\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         15: @alloc_698c9ac5d9d36ba55f022bd6a86138ed = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00+\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         16: @alloc_129cfd0f7e7886990634ed1c7f190b68 = private unnamed_addr constant [78 x i8] c"E[/checkout/tests/codegen-llvm/autodiff/batched.rs:44:5] square(&x) = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         17: @alloc_04495a8ada697f38101ba049e621f332 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o1 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         18: @alloc_84a3ab99bcc98dc559e90827ccc40240 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o2 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         19: @alloc_56f85e61c6fa7619d73e42b4e900018d = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o3 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         20: @alloc_613c30addc47049f7b5dc23b3951f674 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:51:5] o4 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         21: @alloc_4ca051d99091dd83dd9d04af7f5cd112 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o1 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         22: @alloc_c446e79676ec9a28bc6d805b7877757d = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o2 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         23: @alloc_2c02decdd4113e95fae93be8067dac4e = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o3 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         24: @alloc_bb5a713e9cccaddf0acfd975544cd137 = private unnamed_addr constant [70 x i8] c"=[/checkout/tests/codegen-llvm/autodiff/batched.rs:54:5] o4 = \C1 \00\80`\01\0A\00", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         25: @alloc_9e7b90594be711b1df0c773ad1a388c1 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\007\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         26: @alloc_a3dc311289653b738aa1e84e47ad19cf = private unnamed_addr constant [42 x i8] c"assertion failed: (6.0 - o1).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         27: @alloc_e9fd7723b23e3e7d6486bf3256fd5464 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\008\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         28: @alloc_efecaa1b9b810ce3247f0d0369be2183 = private unnamed_addr constant [43 x i8] c"assertion failed: (12.0 - o2).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         29: @alloc_aa181c32287fb84a82a02c9d66032f25 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\009\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         30: @alloc_e8703f1d4107508162f7fb956d3d6d9e = private unnamed_addr constant [43 x i8] c"assertion failed: (18.0 - o3).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         31: @alloc_427980fbe25cea272c523fe0a3868d2f = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00:\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         32: @alloc_e3948f761dc2eeb3db88ed614d07c65b = private unnamed_addr constant [42 x i8] c"assertion failed: (0.0 - o4).abs() < 1e-10", align 1 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         33: @alloc_b7243140f53a93a4665930a54a0a35b9 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00;\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         34: @alloc_4af3eb2f836f77477ff0610a2b7297aa = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00@\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         35: @alloc_9edd77c1cde8ec02464250912bd1b6e5 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00A\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         36: @alloc_9c12d3b2f9224b984edae0581e425feb = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00B\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         37: @alloc_cbb0ade26fa0dd66dddf0ca4fc3c2090 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_bb3658b56b83cf8e47631ed580da66dd, [16 x i8] c"0\00\00\00\00\00\00\00C\00\00\00\05\00\00\00" }>, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         38:  
check:24     ~
         39: ; core::panicking::assert_failed::<f32, f32> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         40: ; Function Attrs: cold minsize noinline noreturn nonlazybind optsize uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         41: define internal fastcc void @_RINvNtCsbz6S9NqEluu_4core9panicking13assert_failedffECs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 4 captures(address, read_provenance) dereferenceable(4) %0, ptr noalias nofree noundef nonnull readonly align 4 captures(address, read_provenance) dereferenceable(4) %1, ptr noalias nofree noundef readonly align 8 captures(address, read_provenance) dereferenceable(24) %2) unnamed_addr #0 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         42: start: 
check:24     ~~~~~~~
         43:  %right = alloca [8 x i8], align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         44:  %left = alloca [8 x i8], align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         45:  store ptr %0, ptr %left, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         46:  store ptr %1, ptr %right, align 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         47: ; call core::panicking::assert_failed_inner 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         48:  call void @_RNvNtCsbz6S9NqEluu_4core9panicking19assert_failed_inner(i8 noundef 0, ptr noundef nonnull %left, ptr noalias nofree noundef readonly align 8 captures(address, read_provenance) dereferenceable(32) @vtable.0, ptr noundef nonnull %right, ptr noalias nofree noundef readonly align 8 captures(address, read_provenance) dereferenceable(32) @vtable.0, ptr noundef null, ptr undef, ptr noalias nofree noundef nonnull readonly align 8 captures(address, read_provenance) dereferenceable(24) %2) #13 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         49:  unreachable 
check:24     ~~~~~~~~~~~~~
         50: } 
check:24     ~~
         51:  
check:24     ~
         52: ; std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         53: ; Function Attrs: noinline nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         54: define internal fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECs7MezcIbiEXk_7batched(ptr noundef nonnull readonly captures(none) %f) unnamed_addr #1 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         55: start: 
check:24     ~~~~~~~
         56:  tail call void %f() 
check:24     ~~~~~~~~~~~~~~~~~~~~~
         57:  tail call void asm sideeffect "", "~{memory}"() #14, !srcloc !5 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         58:  ret void 
check:24     ~~~~~~~~~~
         59: } 
check:24     ~~
         60:  
check:24     ~
         61: ; std::rt::lang_start::<()>::{closure#0} 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         62: ; Function Attrs: inlinehint nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         63: define internal noundef i32 @_RNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0Cs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 8 captures(none) dereferenceable(8) %_1) unnamed_addr #2 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         64: start: 
check:24     ~~~~~~~
         65:  %_4 = load ptr, ptr %_1, align 8, !nonnull !6, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         66: ; call std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         67:  tail call fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECs7MezcIbiEXk_7batched(ptr noundef nonnull %_4) #15 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         68:  ret i32 0 
check:24     ~~~~~~~~~~~
         69: } 
check:24     ~~
         70:  
check:24     ~
         71: ; <std::rt::lang_start<()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         72: ; Function Attrs: inlinehint nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         73: define internal noundef i32 @_RNSNvYNCINvNtCshgCoBcWNzJ0_3std2rt10lang_startuE0INtNtNtCsbz6S9NqEluu_4core3ops8function6FnOnceuE9call_once6vtableCs7MezcIbiEXk_7batched(ptr noundef readonly captures(none) %_1) unnamed_addr #2 personality ptr @rust_eh_personality { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         74: start: 
check:24     ~~~~~~~
         75:  %0 = load ptr, ptr %_1, align 8, !nonnull !6, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         76: ; call std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         77:  tail call fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECs7MezcIbiEXk_7batched(ptr noundef nonnull readonly %0) #15, !noalias !7 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         78:  ret i32 0 
check:24     ~~~~~~~~~~~
         79: } 
check:24     ~~
         80:  
check:24     ~
         81: ; <&dyn core::fmt::Debug as core::fmt::Debug>::fmt 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         82: ; Function Attrs: nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         83: define internal noundef zeroext i1 @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRDNtB6_5DebugEL_Bx_3fmtCs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 8 captures(none) dereferenceable(16) %self, ptr noalias nofree noundef align 8 dereferenceable(24) %f) unnamed_addr #3 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         84: start: 
check:24     ~~~~~~~
         85:  %_3.0 = load ptr, ptr %self, align 8, !nonnull !6, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         86:  %0 = getelementptr inbounds nuw i8, ptr %self, i64 8 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         87:  %_3.1 = load ptr, ptr %0, align 8, !nonnull !6, !align !10, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         88:  %1 = getelementptr inbounds nuw i8, ptr %_3.1, i64 24 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         89:  %2 = load ptr, ptr %1, align 8, !invariant.load !6, !nonnull !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         90:  %_0 = tail call noundef zeroext i1 %2(ptr noundef nonnull %_3.0, ptr noalias nofree noundef nonnull align 8 dereferenceable(24) %f) #16 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         91:  ret i1 %_0 
check:24     ~~~~~~~~~~~~
         92: } 
check:24     ~~
         93:  
check:24     ~
         94: ; <&&f32 as core::fmt::Debug>::fmt 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         95: ; Function Attrs: nonlazybind uwtable 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         96: define internal noundef zeroext i1 @_RNvXs1g_NtCsbz6S9NqEluu_4core3fmtRRfNtB6_5Debug3fmtCs7MezcIbiEXk_7batched(ptr noalias nofree noundef readonly align 8 captures(none) dereferenceable(8) %self, ptr noalias nofree noundef align 8 dereferenceable(24) %f) unnamed_addr #3 { 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         97: start: 
check:24     ~~~~~~~
         98:  %_3 = load ptr, ptr %self, align 8, !nonnull !6, !align !10, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         99:  tail call void @llvm.experimental.noalias.scope.decl(metadata !11) 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        100:  %_3.i = load ptr, ptr %_3, align 8, !alias.scope !11, !noalias !14, !nonnull !6, !align !16, !noundef !6 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        101: ; call <f32 as core::fmt::Debug>::fmt 
check:24     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          .
          .
          .
>>>>>>
------------------------------------------

---- [codegen] tests/codegen-llvm/autodiff/batched.rs stdout end ----
---- [codegen] tests/codegen-llvm/autodiff/abi_handling.rs#release stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/autodiff/abi_handling.rs:61:18: error: release-NEXT: expected string not found in input
// release-NEXT: define internal fastcc noundef float
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/abi_handling.release/abi_handling.ll:122:17: note: scanning from here
; Function Attrs: mustprogress nofree noinline norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable
                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/abi_handling.release/abi_handling.ll:123:1: note: possible intended match here
define internal fastcc float @_RNvCslprwek9b7NP_12abi_handling3df2(float noundef %x) unnamed_addr #3 {
^
/checkout/tests/codegen-llvm/autodiff/abi_handling.rs:80:18: error: release-NEXT: expected string not found in input
// release-NEXT: define internal fastcc float
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/abi_handling.release/abi_handling.ll:139:17: note: scanning from here
; Function Attrs: mustprogress nofree noinline norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable
                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/abi_handling.release/abi_handling.ll:140:1: note: possible intended match here
define internal fastcc { float, float } @_RNvCslprwek9b7NP_12abi_handling3df3(float %x.0.val) unnamed_addr #3 {
^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/autodiff/abi_handling.release/abi_handling.ll
Check file: /checkout/tests/codegen-llvm/autodiff/abi_handling.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           .
           .
           .
          22: @alloc_3ead134d5948a9f1bd2042fea45445d8 = private unnamed_addr constant [80 x i8] c"G[/checkout/tests/codegen-llvm/autodiff/abi_handling.rs:209:5] res_f7 = \C1 \00\80`\01\0A\00", align 1 
          23:  
          24: ; std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> 
          25: ; Function Attrs: noinline nonlazybind uwtable 
          26: define internal fastcc void @_RINvNtNtCshgCoBcWNzJ0_3std3sys9backtrace28___rust_begin_short_backtraceFEuuECslprwek9b7NP_12abi_handling(ptr noundef nonnull readonly captures(none) %f) unnamed_addr #0 { 
          27: start: 
          28:  tail call void %f() 
          29:  tail call void asm sideeffect "", "~{memory}"() #7, !srcloc !5 
          30:  ret void 
          31: } 
          32:  

@sgasho

sgasho commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

I executed git pull --rebase origin main to see if build steps in autodiff job finish successfully after enzyme submodule update

No problem found

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants