[PATCH] D118428: [clang-cl] Support the /JMC flag

Hans Wennborg via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 9 04:58:04 PST 2022

hans added inline comments.

Comment at: llvm/lib/CodeGen/TargetPassConfig.cpp:1096
+  if (TM->Options.JMCInstrument)
+    addPass(createJMCInstrumenterPass());
ychen wrote:
> hans wrote:
> > could this be moved into addIRPasses()?
> Yes, it could. `CFGuardCheckPass` is there for targets with COFF. I didn't put it there because I plan to make it work with ELF in the next step, putting it here is convenient. I don't feel strongly though.
I think it would be better to move it to addIRPasses().

Comment at: llvm/test/CodeGen/X86/jmc-instrument.ll:2
+; Check that the flag symbol is not full-qualified.
+; RUN: llc < %s -enable-jmc-instrument | FileCheck %s
ychen wrote:
> hans wrote:
> > hans wrote:
> > > Since it's an IR pass, I think we don't need to have an llc test at all.
> > I still think it's unusual to have an llc test for an IR pass. Are there any other examples where we do something similar?
> yes, it is pretty rare. I wanted to test the `CodeViewDebug.cpp` change, however, the code path only triggers when the JMC pass is run. Using `llc` came to mind. I'm open to any alternative.
Oh, I see. But does the test check the right thing, then? I only see CHECKs for instructions, not debug info.

And isn't it enough to use IR with a global variable in the .msvcjmc section as input? I think the tighter the test, the better.

  rG LLVM Github Monorepo



More information about the cfe-commits mailing list