[LLVMdev] updated code size comparison
John Regehr
regehr at cs.utah.edu
Wed Jan 20 12:49:22 PST 2010
> Indeed, but can't an analysis find at least one value for each variable
> where the behavior is not undefined?
> Such a value must exist, or the entire function is useless if it always
> has undefined behavior.
Good point :).
> Sure, testing on 1 such value (or a random) value won't prove that the
> result is correct, but may help finding trivial
> miscompilations like the neon_helper case.
Are you absolutely sure it's a miscompilation? I have already shot myself
in the foot a couple times on the GCC mailing list or bugzilla by pointing
out a bug that turned out to be code with subtle undefined behavior...
> Alternatively a testcase could be manually constructed for the top 10
> functions in the size comparison charts,
> and see whether they are miscompiled. Repeat until top 10 has no
> miscompilations.
Tell you what: if I get enough test cases like this, I'll write the test
harness supporting it. I don't have time to do this kind of code
inspection myself.
There has been talk (I don't remember where) about a Clang option for
detecting undefined behavior. Is there any progress on this? This could
be used to enable automated random testing.
John
More information about the llvm-dev
mailing list