64-bit Linux Support

Hi!

What's the plan for support on Linux 64-bit machines? Is that actively
being worked on right now or is there a roadmap for doing this?

Thanks!

-bw

Hi, Bill -

What's the plan for support on Linux 64-bit machines? Is that actively
being worked on right now or is there a roadmap for doing this?

Do you mean compiling on 64-bit Linux or generating code for 64-bits?

As you can see here:

  http://llvm.cs.uiuc.edu/docs/GettingStarted.html#hardware
  http://llvm.cs.uiuc.edu/testresults/
  
we have support for Linux on IA-64 and test results for that platform.
We don't have test results for Linux/PPC64 so I don't know the status.
I recall Chris ran some pointer compression tests on an AMD64 so it
must work there too, but we don't have a nightly tester for that
platform.

Is there something specific you're looking for that doesn't work?

Hi Misha,

> What's the plan for support on Linux 64-bit machines? Is that actively
> being worked on right now or is there a roadmap for doing this?

Do you mean compiling on 64-bit Linux or generating code for 64-bits?

I meant compiling on 64-bit Linux. It didn't look like there was a
cftonend binary for the IA-64 platform. Are we supposed to use the x86
binaries instead?

As you can see here:

http://llvm.cs.uiuc.edu/docs/GettingStarted.html#hardware
http://llvm.cs.uiuc.edu/testresults/

Ah! Okay. I'll take a look at them (I should have done that already *shame*).

we have support for Linux on IA-64 and test results for that platform.
We don't have test results for Linux/PPC64 so I don't know the status.
I recall Chris ran some pointer compression tests on an AMD64 so it
must work there too, but we don't have a nightly tester for that
platform.

Is there something specific you're looking for that doesn't work?

Just as above that I didn't see the cfrontend binaries for IA-64...I
could have overlooked them, though...

Thanks!

-bw

Linux 64-bit machines are tested nightly on 2 64-bit archs, alpha and
IA64.

Perhaps you mean x86-64?

The answer to that is that we don't have IA-64 in-house, so we don't
provide an IA-64 C/C++ front-end, but if someone were to contribute it
to us, we would gratefully host it.

Note that if you use the x86 frontend, you will generate 32-bit LLVM
code, which is probably not what you want. Instead, you want to build
your own frontend if there are none available for your platform:

http://llvm.cs.uiuc.edu/docs/CFEBuildInstrs.html

I noticed that it does not list IA-64 anywhere, but I assume the
directions would be the same as for Linux/x86. Let us know if that
works for you, and I'll amend the doc accordingly.

Duraid, Al -- I am assuming you each built your own CFE to test on
IA-64, any pointers?

Thanks.

Thanks, Misha. I'll let you know how it goes. :slight_smile:

-bw

Sure. All the Debian packages are at:

   http://www.toolchain.org/~ahs3/llvm

The 'llvm-cfe' package contains the CFE I build from scratch. If
you pull down the source for the packages from that location, there's
a script called build.sh that starts from source tarballs and builds
the binaries for the front-end and LLVM (I should probably submit that
script to the utils directory for LLVM...). The LLVM 1.4 packages
are the most stable of the ones on the site; the 1.5 packages are in
progress.

BTW, I also run a nightly tester for x86_64. I'm not real happy with
the results right now, and haven't had much time to spend on it, but
they're at http://www.toolchain.org/~ahs3/Sites/amd64/ if you're
interested.

Excellent! Thank you.

-bw

Al,

Thanks for the pointer to the Debian packages.

Hi guys,

The answer to that is that we don't have IA-64 in-house, so we don't
provide an IA-64 C/C++ front-end, but if someone were to contribute it
to us, we would gratefully host it.

OK, I'll roll one up shortly! However,

I noticed that it does not list IA-64 anywhere, but I assume the
directions would be the same as for Linux/x86. Let us know if that
works for you, and I'll amend the doc accordingly.

Yes, just build the CFE as if you were on a plain old Linux/x86 box and everything will Just Work. Beware the terrible C++ alignment issue, though:

http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=546

for the moment, most C++ programs will fail on IA-64, even if you use the CBE. This one will get fixed shortly though, one way or another. :wink:

  Duraid