Inverse the logic of ProcessAllBindings function.

Instead of creating lots of structs that represent bindings data and
then calling ProcessBindings once we are now calling callback on them
in sequence.

This brings many benefits:
  • No risc of hittin fold expression limit: https://reviews.llvm.org/D86936
  • Makes it possible pass additiona info into callback
  • Simplifies the generation logic a tiny bit
  • Makes it simpler for the compiler to optimize code
  • Make it possible to remove GenerateAsmCallBase class in the future.

Bug: 278812060

Test: m berberis_all

Change-Id: Id8c870476d910a51ac2bf87917ea9863579afa0d
2 files changed