[llvm] [TLI Checker] Extend the targets for Linux, macOS and Windows. (PR #114556)
Paul T Robinson via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 5 11:14:54 PST 2024
pogo59 wrote:
> I'm confused then. What's the point of llvm-tli-checker if it's not already being used for this?
I'll try again.
At the very least, Sony is using llvm-tli-checker downstream, running it against the actual libraries they deliver. (I know this because I wrote those downstream tests.) That's what the tool was originally intended for. I suspect that Sony is not the only vendor using it this way, but I am not certain (@rengolin was a significant reviewer of the original tool, so perhaps ARM or Linaro are using it as well).
My impression is that now there is a desire to create LLVM tests that ensure TLI has selected the correct set of available functions for a particular target. There are no such existing tests of TLI. llvm-tli-checker was designed to check TLI against vendor-provided libraries, but you can fake one up with yaml easily enough. Note that you would be doing that in order to check the correctness of TLI, not llvm-tli-checker, so such a test would belong with other tests of TLI or the library TLI belongs to (i.e., Analysis).
ps4-tli-check.yaml is _coincidentally_ comparing the list of available functions against a canned set for the PS4 target, but that's not the _intent_ of the test. That test is making sure the _tool_ operates correctly.
It's somewhat analogous to llvm-dwarfdump. We have tests of llvm-dwarfdump itself, to make sure the tool does something reasonable when given certain canned inputs; but then we also use llvm-dwarfdump as a test tool against "live" objects to make sure the compiler is producing DWARF that we expect. In the case of llvm-tli-checker, we have tests making sure the tool does something reasonable when given certain canned inputs; but there are NO uses of llvm-tli-checker _within upstream LLVM_ that use it as a test tool in the same way we use llvm-dwarfdump. llvm-tli-checker is used that way only downstream (currently).
Does that help?
https://github.com/llvm/llvm-project/pull/114556
More information about the llvm-commits
mailing list