[cfe-dev] LLVM on ARM A15

Renato Golin renato.golin at linaro.org
Fri Jan 4 15:45:38 PST 2013


Hi folks,

I've been playing with LLVM on a Chromebook (Ubuntu) and it seems to work
quite well. Installing Ubuntu on the Chromebook was a breeze[1] and all
tools/libs/headers required to check-out and build LLVM were accessible via
apt-get.

I had two problems to build it, but apart from those, it all ran smoother
than I'd expected. I'll investigate the errors a bit deeper later on, in
case they're not just me messing up. Anyone else trying the same thing out
there?

 * First error: DataTypes.h

The generated header tests for some macros regarding unsigned int 64-bits,
doesn't find it and prints an error. Just commenting it out the #error line
was enough, since it gets defined later on anyway.

 * Second error: PIC not available

During CMake, SUPPORTS_FPIC_FLAG is set to false, leading to obvious
linking problems of shared libraries. Just commenting out the whole if/else
block and setting -fPIC anyway does the trick. I'll check later why the
flag is "not supported".

 * Timings

Whole compilation with -j2 took an hour (ARM back-end only), including
check-all, which passed brilliantly, except for LoopVectorize tests. ;)

I'm guessing this is due to it being disabled by Nadav and when we get the
cost model right it'll go back to passing. Maybe we should mark them as
supported only by platforms that implement the cost model?

********************
Testing Time: 521.68s
********************
Failing Tests (20):
    LLVM :: Transforms/LoopVectorize/12-12-11-if-conv.ll
    LLVM :: Transforms/LoopVectorize/2012-10-22-isconsec.ll
    LLVM :: Transforms/LoopVectorize/calloc.ll
    LLVM :: Transforms/LoopVectorize/cast-induction.ll
    LLVM :: Transforms/LoopVectorize/cpp-new-array.ll
    LLVM :: Transforms/LoopVectorize/flags.ll
    LLVM :: Transforms/LoopVectorize/gcc-examples.ll
    LLVM :: Transforms/LoopVectorize/if-conversion.ll
    LLVM :: Transforms/LoopVectorize/increment.ll
    LLVM :: Transforms/LoopVectorize/induction_plus.ll
    LLVM :: Transforms/LoopVectorize/intrinsic.ll
    LLVM :: Transforms/LoopVectorize/lcssa-crash.ll
    LLVM :: Transforms/LoopVectorize/no_int_induction.ll
    LLVM :: Transforms/LoopVectorize/non-const-n.ll
    LLVM :: Transforms/LoopVectorize/read-only.ll
    LLVM :: Transforms/LoopVectorize/reduction.ll
    LLVM :: Transforms/LoopVectorize/runtime-check.ll
    LLVM :: Transforms/LoopVectorize/scalar-select.ll
    LLVM :: Transforms/LoopVectorize/start-non-zero.ll
    LLVM :: Transforms/LoopVectorize/write-only.ll

  Expected Passes    : 9750
  Expected Failures  : 77
  Unsupported Tests  : 2930
  Unexpected Failures: 20

cheers,
--renato

[1]
http://chromeos-cr48.blogspot.co.uk/2012/10/arm-chrubuntu-1204-alpha-1-now.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130104/96a13df1/attachment.html>


More information about the cfe-dev mailing list