This converts the arg-count-mismatch.ll test to opaque pointers. The bitcasts of the called functions are now implicit and this change behavior. I wanted to double check whether the new output is correct / expected.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Good context to know here is that getCalledFunction() will check that the function signatures match, but e.g. isCallee() won't, that requires an explicit check. It may be that Attributor needs additional function signature checks in some places, but it's not really clear to me whether it is necessary from the test diff.
llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll | ||
---|---|---|
45 | We now infer attributes despite the mismatch in signature. That looks fine here, but possibly it only works by accident. | |
88 | The fact that we no longer infer attributes for TUNIT seems suspicious. |
Rebase
llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll | ||
---|---|---|
88 | Okay, the TUNIT changes are gone after a rebase, so we now only infer more attributes. |
llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll | ||
---|---|---|
45 | It's fine to deduce correct attributes. We should not do sth wrong or crash. |
We now infer attributes despite the mismatch in signature. That looks fine here, but possibly it only works by accident.