" Input: { choices_desc - dict with description of choices (flat format) choices_order - list of list of flat choice vectors to tune [[],[],...] - list of list is needed to be able to enable indedepent selection of groups of choices. For example, iterate over all possible data set sizes + random flags per data set choices_selection - list of dicts with types of selection for each above group choices_current - current vector of choices (random_module) - if !=None, random module with seed (pipeline) - if set, update it with current choices (custom_explore) - enforce exploration params from command line (all) - if 'yes', select all } Output: { return - return code = 0, if successful > 0, if error (error) - error text if return > 0 choices_current - list of updated choices choices - dictionary of flat choices and values choices_order - list of flat choices (to know order if need such as for LLVM opt) pipeline - upated pipeline with choices also choices and choices_order are added to pipeline finish - if True, iterations are over } "