[PATCH] D152328: InstrProf - don't emit 64 bit atomic operations on 32 bit platforms

Sean Mollet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 7 05:22:02 PDT 2023


SeanMollet added a comment.

OK, I got brought back to this by a comment on my downstream rust issue.

@Zalathar kindly pointed out the commit on the rust side that is turning this on (blindly).

Turn on:
https://github.com/rust-lang/rust/pull/111469/files

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

      if (InstrProfileOutput) {
        Options.InstrProfileOutput = InstrProfileOutput;
      }
      // cargo run tests in multhreading mode by default
      // so use atomics for coverage counters
      Options.Atomic = true;
      MPM.addPass(InstrProfiling(Options, false));
    }
  );

I'm going to investigate down there and see if there's a way for it to be smarter about turning this on. With that said though, I'm still of the mind that a sanity check in LLVM for obvious failures isn't a bad idea. Thoughts?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152328/new/

https://reviews.llvm.org/D152328



More information about the llvm-commits mailing list