[llvm-bugs] [Bug 43207] New: IR dump prints win64cc but llc does not recognize it

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Sep 3 08:41:34 PDT 2019


            Bug ID: 43207
           Summary: IR dump prints win64cc but llc does not recognize it
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Windows XP
            Status: NEW
          Severity: normal
          Priority: P
         Component: llc
          Assignee: unassignedbugs at nondot.org
          Reporter: LChrisman at Lumina.com
                CC: llvm-bugs at lists.llvm.org

You can produce an IR dump with a win64cc calling convention, like this one:

%MyStruct = type { i16, i64 }
define win64cc %MyStruct @ret_struct() {
  ret %MyStruct { i16 13, i64 23 }

But when you compile it with llc, it gives an error that it doesn't recognize
it. If it can print it, it seems like it should parse it.

1. Same the above to win64cctest.ll
2. On command line, run: llc win64cctest.ll -o -
{ Actual: error: expected type. Points to win64cc }
{ Expected: Would succeed }

Printing side:

ThreadSafeModule MakeM()
        auto pCtx = make_unique<LLVMContext>();
        auto& ctx = *pCtx;
        auto pM = make_unique<Module>("My_module",ctx);
        auto& M = *pM;

        auto myStruct = StructType::create(ctx,
                {       Type::getInt16Ty(ctx),
        FunctionType* proto = FunctionType::get(myStruct,false);
        Function* fn =
        BasicBlock* BB = BasicBlock::Create(ctx,"begin",fn);
        IRBuilder<> builder(BB);
        //Value* ms = builder.CreateAlloca(myStruct,nullptr,"ms");
        auto ms = ConstantStruct::get(myStruct,
                {       ConstantInt::get(ctx,APInt(16,13,true)), 
                } );
        cout << "The IR is:\n";
        outs() << M;
        cout << endl;

        return ThreadSafeModule(std::move(pM),std::move(pCtx));

int main()

        auto M = MakeM();

Additional comments:
* Using most recent SVN branch, reproduced both on Win 7 and Win 10.  (Your bug
base OS pulldown doesn't have anything after Windows XP)

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190903/c662c32a/attachment-0001.html>

More information about the llvm-bugs mailing list