Bug #: 12364
Summary: Vectorization produces invalid forward reference
Product: dragonegg
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Keywords: compile-fail
Severity: normal
Priority: P
Component: New Bugs
AssignedTo: bald...@free.fr
ReportedBy: scott+llv...@pakin.org
CC: llvm...@cs.uiuc.edu, scott+llv...@pakin.org
Classification: Unclassified
Created attachment 8274
--> http://llvm.org/bugs/attachment.cgi?id=8274
Minimal reproducer for vectorization failure
The attached Fortran 90 file fails to compile if and only if LLVM vectorization
is enabled:
$ gfortran -O2 -g -fplugin=/usr/local/lib/dragonegg.so -c broken_vector.f90
$ gfortran -O2 -g -fplugin=/usr/local/lib/dragonegg.so
-fplugin-arg-dragonegg-llvm-option=-vectorize -c broken_vector.f90
Stack dump:
0. Running pass 'X86 DAG->DAG Instruction Selection' on function
'@broken_vector_'
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.
Event | Plugins
PLUGIN_FINISH_UNIT | dragonegg
PLUGIN_FINISH | dragonegg
PLUGIN_START_UNIT | dragonegg
PLUGIN_ALL_IPA_PASSES_END | dragonegg
broken_vector.f90:20:0: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
The problem is reported more precisely when compiling via LLVM IR:
$ gfortran -O2 -g -fplugin=/usr/local/lib/dragonegg.so
-fplugin-arg-dragonegg-emit-ir -fplugin-arg-dragonegg-llvm-option=-vectorize -S
-o broken_vector.ll broken_vector.f90
$ opt broken_vector.ll -disable-output
opt: broken_vector.ll:52:31: error: invalid forward reference to function
'llvm.powi.v2f32' with wrong type!
%36 = tail call <2 x float> @llvm.powi.v2f32(<2 x float> %15, <2 x i32> <i32
3, i32 3>), !dbg !36
^
--
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.
_______________________________________________
LLVMbugs mailing list
LLVM...@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs