[LLVMdev] some superoptimizer results

John Regehr regehr at cs.utah.edu
Thu Jul 23 13:42:08 PDT 2015


> Another option would be exclude extensions of i1 and non cmov-like selects 
> from the candidate set.

Sorry, can you explain what a non-cmov-like select looks like?

OK, you and Sean have convinced me about the condition codes-- I'll assign 
cost >1 to sext/zext of i1 and we'll see how that works out.

> - Give each entry a unique ID (result set 3 #25 would be fine). That would 
> make them much easier to discuss.

Oops-- I had intended to give permalinks to the optimizations but somehow 
dropped that, will do it next time.

> - Exclude examples where only a prefix changes.  There were several instances 
> where the last instruction in the sequence was duplicated exactly.  This is 
> essentially an instance of synthesizing the subproblem and results in 
> duplicates in the output.

Weird, I read the entire list and totally overlooked this, will filter 
next time.

> - Group all inputs at the beginning.  Follow with an instructions which are 
> shared between input and output.  This'll make it easier to scan the output.

Yeah. Alternately, we already translate each Souper LHS into LLVM-- I 
could put the LLVM code on the web instead of the Souper code, then you'd 
have inputs as function arguments, if that's easier on the eyes?

Thanks!

John



More information about the llvm-dev mailing list