LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 44 - [x86] X86 static compiler does not work with 254.gap at all
Summary: [x86] X86 static compiler does not work with 254.gap at all
Status: RESOLVED FIXED
Alias: None
Product: libraries
Classification: Unclassified
Component: Backend: X86 (show other bugs)
Version: trunk
Hardware: PC Linux
: P normal
Assignee: Brian R. Gaeke
URL:
Keywords: miscompilation
Depends on:
Blocks:
 
Reported: 2003-10-14 14:19 PDT by Chris Lattner
Modified: 2010-02-22 12:46 PST (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Lattner 2003-10-14 14:19:08 PDT
This looks like a bug in either the assembly emitter or in the 'gas' that we are
using, because it is very consistent, and the JIT works fine.

Either way, this should be fixed in lib/Target/X86/Printer.cpp
Comment 1 Brian R. Gaeke 2003-10-15 21:26:42 PDT
A useful test run is:
 % 254.gap.llc -l ./ -q -m 64M < /dev/null
in the Output/llc-test directory. It should print nothing. It prints
an error message, presumably about heap corruption

Whoever decided to name their memory allocator "Gasman" and call the unit of
memory a "bag" should please note that I am not amused.

I haven't gotten bugpoint --run-llc to work with gap because it seems to have
some trouble passing the correct command-line arguments to gap. I tried:
 % bugpoint --run-llc --debug ../254.gap.llvm.bc --args -- -l ./ -q -m 64M

I tried using opt -tracem and diffing the output from lli and llc. The only
functions whose output differed, up to the point where the crash occurred, were
SyTime and NrHandles. SyTime just returns a value based on the system time, so I
looked at NrHandles using utils/codegen-diff. I was unable to find any
differences that mattered between NrHandles as compiled by the JIT and as
compiled by LLC.

Comment 2 Chris Lattner 2003-10-18 21:56:14 PDT
This is now fixed:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031013/008300.html

All of the C SPEC2000 benchmarks now work with the X86 backend, except for
perlbmk (which requires unwind support).
Comment 3 Brian R. Gaeke 2003-10-19 13:32:54 PDT
You are the man.