First Last Prev Next    No search results available
Details
: Interpreter does not handle setne constant expression
Bug#: 146
: libraries
: Interpreter
Status: RESOLVED
Resolution: FIXED
: PC
: Linux
: trunk
: P2
: normal
: ---

:
: missing-feature
:
:
  Show dependency tree - Show dependency graph
People
Reporter: John T. Criswell <criswell@uiuc.edu>
Assigned To: Brian R. Gaeke <gaeke+bugs@uiuc.edu>

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2003-11-20 20:00
The lli program fails on the following instruction when the -force-interpreter
option is used:

br bool setne (void ()* %_GLOBAL__D_lshaped_driver.cpp_00000000_A3849043, void
()* null), label %then.0.i, label %loopentry.i

The lli program aborts with:

Unhandled ConstantExpr:  bool setne (void ()*
%_GLOBAL__D_lshaped_driver.cpp_00000000_A3849043, void ()* null)


Examination and some extra debugging added to
lib/ExecutionEngine/Interpreter/Execution.cpp seems to indicate that the setne
instruction is castable as a constant expression (which makes sense because null
is constant and the %_GLOBAL... is the name of an internal function).  However,
the interpreter cannot interpret a setne constant expression, so lli aborts.

I'll try to create a smaller test case later tonight.
------- Comment #1 From Brian R. Gaeke 2003-12-10 22:05:10 -------
This patch adds support for setne constant expressions (among others):

http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031208/010072.html

Thanks,
-Brian

First Last Prev Next    No search results available