Skip to content

Conversation

lkeegan
Copy link
Member

@lkeegan lkeegan commented Apr 28, 2023

motivation: https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers

  • use PassBuilder default -O0, -O1, ... passes instead of manually specifying passes
  • remove LLVMVisitor::init() overloads with explicit list of passes
  • add passes to SYMENGINE_LLVM_COMPONENTS in CMakeLists
  • increase minimum required llvm version to 4.0
  • remove llvm from USE_GLIBCXX_DEBUG ci job

lkeegan added 3 commits April 28, 2023 10:33
- use PassBuilder default -Ox passes instead of manually specifying passes
- remove LLVMVisitor::init() overloads with explicit list of passes
- add `passes` to SYMENGINE_LLVM_COMPONENTS in CMakeLists
- increase minimum required llvm version to 4.0
- remove llvm from USE_GLIBCXX_DEBUG ci job
  - using debug libstdc++ changes the ABI: https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode_using.html
  - but llvm library is not compiled against debug libstdc++
  - vector is passed between debug and non-debug translation units -> crash
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
@bjodah
Copy link
Contributor

bjodah commented Apr 30, 2023

I think this looks great!

@lkeegan
Copy link
Member Author

lkeegan commented May 2, 2023

Thanks for the reviews

@lkeegan lkeegan merged commit e99496e into symengine:master May 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants