[LLVMbugs] [Bug 14131] New: UNREACHABLE executed at ConstantFolding.cpp:906!

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Oct 19 14:08:58 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=14131

             Bug #: 14131
           Summary: UNREACHABLE executed at ConstantFolding.cpp:906!
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: merkil at savhon.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Hi !
LLVM/Clang as of 166293 crashes on the following testcase :

$ cat constantfold.c
int a, c;
unsigned short b;

void f(int p)
{
    unsigned short s = p, t, *d = &p;

    for(*d = 0;; *d++)
    {
        int u = *d;

        s || (t = u);
        (b / t ? t < 1 : s < 2) ? : (b = 0);
        a = 0;

        if(a < 1)
            while(1)
                c++;
    }
}

$ clang -O2 constantfold.c -w
Invalid for compares
UNREACHABLE executed at
/home/merkil/git/clang/llvm/lib/Analysis/ConstantFolding.cpp:906!
0  clang           0x0000000001a7ce5f
1  clang           0x0000000001a7d343
2  libpthread.so.0 0x00007f5021f49970
3  libc.so.6       0x00007f50211b5c75 gsignal + 53
4  libc.so.6       0x00007f50211b6f87 abort + 327
5  clang           0x0000000001a6b11f llvm::llvm_unreachable_internal(char
const*, char const*, unsigned int) + 463
6  clang           0x0000000001808258 llvm::ConstantFoldInstOperands(unsigned
int, llvm::Type*, llvm::ArrayRef<llvm::Constant*>, llvm::DataLayout const*,
llvm::TargetLibraryInfo const*) + 952
7  clang           0x0000000001774b03
8  clang           0x00000000017743ac
9  clang           0x0000000001775a91
10 clang           0x000000000173226d
11 clang           0x0000000001732cbf
12 clang           0x00000000019e22bb
llvm::FPPassManager::runOnFunction(llvm::Function&) + 443
13 clang           0x00000000017e7c95
14 clang           0x00000000019e2793
llvm::MPPassManager::runOnModule(llvm::Module&) + 419
15 clang           0x00000000019e2d18 llvm::PassManagerImpl::run(llvm::Module&)
+ 408
16 clang           0x00000000019e2e7a llvm::PassManager::run(llvm::Module&) +
10
17 clang           0x000000000079e430
clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions
const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::Module*,
clang::BackendAction, llvm::raw_ostream*) + 5280
18 clang           0x000000000079c12a
19 clang           0x00000000008ce294 clang::ParseAST(clang::Sema&, bool, bool)
+ 532
20 clang           0x000000000079b172 clang::CodeGenAction::ExecuteAction() +
178
21 clang           0x0000000000646a25 clang::FrontendAction::Execute() + 101
22 clang           0x0000000000627a6d
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 973
23 clang           0x000000000060ee68
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3768
24 clang           0x000000000060343b cc1_main(char const**, char const**, char
const*, void*) + 603
25 clang           0x000000000060b066 main + 3558
26 libc.so.6       0x00007f50211a2695 __libc_start_main + 245
27 clang           0x00000000006030fd
Stack dump:
0.    Program arguments: /home/merkil/git/clang/build/Release+Asserts/bin/clang
-cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name
constantfold.c -mrelocation-model static -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-target-linker-version 2.22.90.20120727 -momit-leaf-frame-pointer -resource-dir
/home/merkil/git/clang/build/Release+Asserts/bin/../lib/clang/3.2
-fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem
/usr/local/include -internal-isystem
/home/merkil/git/clang/build/Release+Asserts/bin/../lib/clang/3.2/include
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O2
-w -fdebug-compilation-dir /home/merkil -ferror-limit 19 -fmessage-length 0
-mstackrealign -fobjc-runtime=gcc -fdiagnostics-show-option -o
/tmp/constantfold-WsTzmk.o -x c constantfold.c 
1.    <eof> parser at end of file
2.    Per-module optimization passes
3.    Running pass 'CallGraph Pass Manager' on module 'constantfold.c'.
4.    Running pass 'Combine redundant instructions' on function '@f'
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.2 (trunk 166290) (llvm/trunk 166293)
Target: x86_64-unknown-linux-gnu
Thread model: posix

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list