<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - webkit_jscc does not handle non-i64 return types well"
   href="https://llvm.org/bugs/show_bug.cgi?id=27172">27172</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>webkit_jscc does not handle non-i64 return types well
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: X86
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>sanjoy@playingwithpointers.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Running

```
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.11.0"

declare webkit_jscc i32 @foo()

define i32 @caller() {
entry:
  %v = call webkit_jscc i32 @foo()
  ret i32 %v
}
```

through llc fails an assertion:

Assertion failed: (EVT(CLI.Ins[i].VT) == InVals[i].getValueType() && "LowerCall
emitted a value with the wrong type!"), function LowerCallTo, file
../../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp, line 7453.
0  llc                      0x000000010735599e
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 46
1  llc                      0x0000000107355dd9
PrintStackTraceSignalHandler(void*) + 25
2  llc                      0x0000000107352679 llvm::sys::RunSignalHandlers() +
425
3  llc                      0x0000000107356122 SignalHandler(int) + 354
4  libsystem_platform.dylib 0x00007fff80e77eaa _sigtramp + 26
5  llc                      0x00000001079a4440 ErrorCategory + 44600
6  llc                      0x0000000107355dfb raise + 27
7  llc                      0x0000000107355ea2 abort + 18
8  llc                      0x0000000107355e8e __assert_rtn + 126
9  llc                      0x00000001070f6e77
llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&)
const + 9735
10 llc                      0x00000001070f8be0
llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringInfo&,
llvm::BasicBlock const*) + 512
11 llc                      0x00000001070ddb61
llvm::SelectionDAGBuilder::LowerCallTo(llvm::ImmutableCallSite, llvm::SDValue,
bool, llvm::BasicBlock const*) + 1649
12 llc                      0x00000001070c731d
llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 3453
13 llc                      0x00000001070bada7
llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) + 1223
14 llc                      0x00000001070b9da0
llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 128
15 llc                      0x00000001071ac4a4
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 148
16 llc                      0x00000001071ac1fa
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 5130
17 llc                      0x00000001071a97f1
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1569
18 llc                      0x000000010613aa5b (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 59
19 llc                      0x000000010686690f
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 415
20 llc                      0x0000000106c535af
llvm::FPPassManager::runOnFunction(llvm::Function&) + 399
21 llc                      0x0000000106c538c5
llvm::FPPassManager::runOnModule(llvm::Module&) + 117
22 llc                      0x0000000106c545af (anonymous
namespace)::MPPassManager::runOnModule(llvm::Module&) + 1967
23 llc                      0x0000000106c53b86
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 342
24 llc                      0x0000000106c551a1
llvm::legacy::PassManager::run(llvm::Module&) + 33
25 llc                      0x0000000106048ec1 compileModule(char**,
llvm::LLVMContext&) + 19361
26 llc                      0x00000001060442ba main + 266</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>