[llvm-commits] [llvm] r113766 - in /llvm/trunk: include/llvm/InlineAsm.h include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp lib/CodeGen/SelectionDAG/TargetLowering.cpp lib/Target/X86/X86ISelLowering.cpp lib/Targ

NAKAMURA Takumi geek4civic at gmail.com
Fri Sep 24 03:19:49 PDT 2010


Good evening, John.

With this commit, test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll crashes
when --enable-assertions=no.
(Un)luckily, this test is marked as "XFAIL: *" and catches crash, too.

I have confirmed on x86_64-linux(CentOS5) with optimization.
Please see below, thank you;

* r113765
$ bisect/bin/llc < ~/llvm/test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll
        .machine ppc
        .section        __TEXT,__textcoal_nt,coalesced,pure_instructions
        .section        __TEXT,__symbol_stub1,symbol_stubs,pure_instructions,16
        .section        __TEXT,__text,regular,pure_instructions
LLVM ERROR: Unsupported asm: input constraint with a matching output
constraint of incompatible type!

* r113766 (and ToT)
$ bisect/bin/llc < ~/llvm/test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll
        .machine ppc
        .section        __TEXT,__textcoal_nt,coalesced,pure_instructions
        .section        __TEXT,__symbol_stub1,symbol_stubs,pure_instructions,16
        .section        __TEXT,__text,regular,pure_instructions
0  llc             0x00000000009d295f
1  llc             0x00000000009d46fa
2  libpthread.so.0 0x00000039de00eb10
3  llc             0x00000000005f64af
llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands(std::vector<llvm::SDValue,
std::allocator<llvm::SDValue> >&) + 431
4  llc             0x00000000005f678f
llvm::SelectionDAGISel::Select_INLINEASM(llvm::SDNode*) + 239
5  llc             0x00000000005f7725
llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char
const*, unsigned int) + 1269
6  llc             0x000000000050ebe7
7  llc             0x00000000005f1c20
llvm::SelectionDAGISel::DoInstructionSelection() + 368
8  llc             0x00000000005f2e8b
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 715
9  llc             0x00000000005f44de
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 158
10 llc             0x00000000005f499d
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) +
1133
11 llc             0x00000000005f53e9
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) +
361
12 llc             0x000000000050e226
13 llc             0x00000000009695c9
llvm::FPPassManager::runOnFunction(llvm::Function&) + 521
14 llc             0x000000000096967b
llvm::FPPassManager::runOnModule(llvm::Module&) + 75
15 llc             0x0000000000969221
llvm::MPPassManager::runOnModule(llvm::Module&) + 465
16 llc             0x000000000096933d
llvm::PassManagerImpl::run(llvm::Module&) + 125
17 llc             0x00000000004cdc45 main + 3397
18 libc.so.6       0x00000039dd41d994 __libc_start_main + 244
19 llc             0x00000000004cbc89 __gxx_personality_v0 + 633
Stack dump:
0.      Program arguments: bisect/bin/llc
1.      Running pass 'Function Pass Manager' on module '<stdin>'.
2.      Running pass 'PowerPC DAG->DAG Pattern Instruction Selection'
on function '@test'


2010/9/14 John Thompson <John.Thompson.JTSoftware at gmail.com>:
> Author: jtsoftware
> Date: Mon Sep 13 13:15:37 2010
> New Revision: 113766
>
> URL: http://llvm.org/viewvc/llvm-project?rev=113766&view=rev
> Log:
> Added skeleton for inline asm multiple alternative constraint support.
>
> Modified:
>    llvm/trunk/include/llvm/InlineAsm.h
>    llvm/trunk/include/llvm/Target/TargetLowering.h
>    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
>    llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
>    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>    llvm/trunk/lib/Target/X86/X86ISelLowering.h
>    llvm/trunk/lib/Transforms/Scalar/CodeGenPrepare.cpp
>    llvm/trunk/lib/Transforms/Utils/AddrModeMatcher.cpp
>    llvm/trunk/lib/VMCore/InlineAsm.cpp




More information about the llvm-commits mailing list