Как получить параметры из командной строки в LLVM pass [duplicate]

Вы можете использовать операционные зависимости для инициирования некоторой операции после завершения ряда других операций:

let operationQueue = OperationQueue()

let completionOperation = BlockOperation {
    // do something
}

for object in objects {
    let operation = ...
    completionOperation.addDependency(operation)
    operationQueue.addOperation(operation)
}

OperationQueue.main.addOperation(completionOperation)
13
задан Hongxu Chen 29 November 2012 в 15:33
поделиться

1 ответ

Вы должны использовать библиотеку CommandLine , которая встроена в LLVM. В основном, вы просто помещаете вверху .cpp-файла прохода:

#include "llvm/Support/CommandLine.h"

static cl::opt<string> InputFilename("mypass_option", cl::desc("Specify input filename for mypass"), cl::value_desc("filename"));

Но я рекомендую вам проверить приведенную выше ссылку, у нее есть полная ссылка + удобный раздел быстрого запуска.

В качестве примера рассмотрим встроенный проход цикла разворачивания цикла - он определяет две беззнаковые и две логические опции, расположенные вверху исходного файла, с помощью cl::opt<unsigned> и cl::opt<bool>.

12
ответ дан Oak 21 August 2018 в 05:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: