[LLVMbugs] [Bug 13846] New: Code generation fails (X86 FP Stackifier) assert
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Sep 14 04:15:39 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=13846
Bug #: 13846
Summary: Code generation fails (X86 FP Stackifier) assert
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: jonathan+llvm at pinacea.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
I recently got this result on one file of the project I'm working on. This file
compiles just fine with Clang 3.1
I build this source in 32bits mode.
Here is the backtrace :
clang: /tmp/llvm/lib/Target/X86/X86FloatingPoint.cpp:332: unsigned int
getFPReg(const llvm::MachineOperand &): Assertion `Reg >= X86::FP0 && Reg <=
X86::FP6 && "Expected FP register!"' failed.
0 clang 0x000000000199b6ff
1 clang 0x000000000199bbc4
2 libpthread.so.0 0x00002b61817b7f60
3 libc.so.6 0x00002b61823a9165 gsignal + 53
4 libc.so.6 0x00002b61823abf70 abort + 384
5 libc.so.6 0x00002b61823a22b1 __assert_fail + 241
6 clang 0x000000000121669b
7 clang 0x0000000001213943
8 clang 0x0000000001212193
9 clang 0x00000000014c6594
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 116
10 clang 0x000000000193ed1b
llvm::FPPassManager::runOnFunction(llvm::Function&) + 443
11 clang 0x000000000193ef7b
llvm::FPPassManager::runOnModule(llvm::Module&) + 155
12 clang 0x000000000193f1f3
llvm::MPPassManager::runOnModule(llvm::Module&) + 419
13 clang 0x000000000193f778 llvm::PassManagerImpl::run(llvm::Module&)
+ 408
14 clang 0x000000000193f8da llvm::PassManager::run(llvm::Module&) +
10
15 clang 0x0000000000775127
clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions
const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::Module*,
clang::BackendAction, llvm::raw_ostream*) + 5239
16 clang 0x0000000000772eea
17 clang 0x0000000000898524 clang::ParseAST(clang::Sema&, bool, bool)
+ 532
18 clang 0x0000000000771f52 clang::CodeGenAction::ExecuteAction() +
178
19 clang 0x000000000062b8b5 clang::FrontendAction::Execute() + 101
20 clang 0x000000000060d78d
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 973
21 clang 0x00000000005f5b5a
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3450
22 clang 0x00000000005ea36b cc1_main(char const**, char const**, char
const*, void*) + 635
23 clang 0x00000000005f204a main + 3482
24 libc.so.6 0x00002b6182395c4d __libc_start_main + 253
25 clang 0x00000000005ea029
Stack dump:
0. Program arguments: /llvm/bin/clang -cc1 -triple i386-unknown-linux-gnu
-emit-obj -disable-free -main-file-name MYFILE.c -mrelocation-model static
-fmath-errno -masm-verbose -mconstructor-aliases -target-cpu pentiumpro
-target-linker-version 2.20.1 -momit-leaf-frame-pointer -g -ffunction-sections
-fdata-sections -coverage-file MYFILE.o -resource-dir
/llvm/bin/../lib/clang/3.2 -include linux_strstr.h -D linux -D i386 -D
_GNU_SOURCE -D NDEBUG -D __BYTE_ORDER=1234 -D USE_VARARGS=1 -D USE_PROTOTYPES=0
-D USE_CONST=0 -U _LONG_LONG -D MMAP_SUPPORT -D _FILE_OFFSET_BITS=64 -D debian
-I /usr/X11/include -I /usr/include -I /usr/include/freetype2
-fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem
/usr/local/include -internal-isystem /llvm/bin/../lib/clang/3.2/include
-internal-externc-isystem /usr/include/i486-linux-gnu -internal-externc-isystem
/include -internal-externc-isystem /usr/include -O2 -Wno-write-strings
-Wreturn-type -fdebug-compilation-dir ./data -ferror-limit 19 -fmessage-length
158 -faddress-sanitizer -mstackrealign -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -mllvm -asan-stack=1 -mllvm
-asan-globals=1 -o MYFILE.o -x c MYFILE.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/data/MYFILE.c'.
4. Running pass 'X86 FP Stackifier' on function '@TOTO'
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 163890)
Target: i386-unknown-linux-gnu
Thread model: posix
THe function TOTO (is anonymized as I can't publish the code) and is prototype
is something like :
static void TOTO(double a, double b, double c, double *d, double *e, double *f,
double g);
and it start like this :
static void TOTO(double a, double b, double c, double *d, double *e, double *f,
double g)
{
double aa, bb, cc, dd;
int u;
....
}
--
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