是否无法在Windows上使用外部llvm自定义传递?

时间:2015-07-22 08:30:22

标签: llvm

但是,在Windows上使用外部llvm自定义传递是不可能的?

我可以构建' mypass.dll'在Windows上使用LLVM库。并且,我使用这两种方式来使用我的传球。

$this->find()
       ->where("user_id IN(1,5,8) AND (status = 1 OR verified = 1) OR (social_account = 1 AND enable_social = 1)")
       ->all();

但是,Clang和opt并没有很好地完成我的传球。

  

这意味着,我的传递可以在编译时转储llvm :: Module。我的传递可以在Linux上转储它。但是,我的通行证并没有在Windows上打印任何内容。

此外,我已经使用CMake在Windows上构建了LLVM和Clang。

为避免混淆,我正在编写源代码。

clang.exe -Xclang -load -Xclang mypass.dll -c test.c
opt.exe -load -Xclang mypass.dll -mypass test.bc -o optimized_test.bc

而且,这是我在Windows上的构建命令。

#include <iostream>
using namespace std;

#include <llvm/Pass.h>
#include <llvm/IR/Module.h>
using namespace llvm;

class SampleIRModule : public llvm::ModulePass {
  public:
    static char ID;
    SampleIRModule() : llvm::ModulePass(ID) {}

    bool runOnModule(llvm::Module &M);
};

bool SampleIRModule::runOnModule(llvm::Module &M) {
    M.dump();
    return false;
}

char SampleIRModule::ID = 0;
static RegisterPass<SampleIRModule> X("SampleIRModule", "SampleIRModule Pass");

0 个答案:

没有答案