What is the purpose of llvm::InstrInfoQuery?

I am looking into llvm’s source code for value tracking/analysis, and see repeated use of InstrInfoQuery (in llvm-project/llvm/include/llvm/Analysis/InstrucitonSimplify.h), but I am confused about the comment on UseInstrInfo. What would be a scenario that an instruction’s metadata should not be used?

/// InstrInfoQuery provides an interface to query additional information for
/// instructions like metadata or keywords like nsw, which provides conservative
/// results if the users specified it is safe to use.
struct InstrInfoQuery {
...
}

This was added for use by NewGVN, which may simplify instructions that are equivalent only if flags are ignored. I think the description of the issue in the commit message is pretty good: [InstrSimplify,NewGVN] Add option to ignore additional instr info whe… · llvm/llvm-project@19f9e32 · GitHub