<div dir="ltr">Hi folks,<div><br></div><div style>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.</div>
<div style><br></div><div style>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?</div>
<div style><br></div><div style> * First error: DataTypes.h</div><div style><br></div><div style>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.</div>
<div style><br></div><div style> * Second error: PIC not available</div><div style><br></div><div style>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".</div>
<div style><br></div><div style> * Timings</div><div style><br></div><div style><div>Whole compilation with -j2 took an hour (ARM back-end only), including check-all, which passed brilliantly, except for LoopVectorize tests. ;)<br>
</div></div><div style><br></div><div style>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?</div>
<div style><br></div><div style><div>********************</div><div>Testing Time: 521.68s</div><div>********************</div><div>Failing Tests (20):</div><div>    LLVM :: Transforms/LoopVectorize/12-12-11-if-conv.ll</div>
<div>    LLVM :: Transforms/LoopVectorize/2012-10-22-isconsec.ll</div><div>    LLVM :: Transforms/LoopVectorize/calloc.ll</div><div>    LLVM :: Transforms/LoopVectorize/cast-induction.ll</div><div>    LLVM :: Transforms/LoopVectorize/cpp-new-array.ll</div>
<div>    LLVM :: Transforms/LoopVectorize/flags.ll</div><div>    LLVM :: Transforms/LoopVectorize/gcc-examples.ll</div><div>    LLVM :: Transforms/LoopVectorize/if-conversion.ll</div><div>    LLVM :: Transforms/LoopVectorize/increment.ll</div>
<div>    LLVM :: Transforms/LoopVectorize/induction_plus.ll</div><div>    LLVM :: Transforms/LoopVectorize/intrinsic.ll</div><div>    LLVM :: Transforms/LoopVectorize/lcssa-crash.ll</div><div>    LLVM :: Transforms/LoopVectorize/no_int_induction.ll</div>
<div>    LLVM :: Transforms/LoopVectorize/non-const-n.ll</div><div>    LLVM :: Transforms/LoopVectorize/read-only.ll</div><div>    LLVM :: Transforms/LoopVectorize/reduction.ll</div><div>    LLVM :: Transforms/LoopVectorize/runtime-check.ll</div>
<div>    LLVM :: Transforms/LoopVectorize/scalar-select.ll</div><div>    LLVM :: Transforms/LoopVectorize/start-non-zero.ll</div><div>    LLVM :: Transforms/LoopVectorize/write-only.ll</div><div><br></div><div>  Expected Passes    : 9750</div>
<div>  Expected Failures  : 77</div><div>  Unsupported Tests  : 2930</div><div>  Unexpected Failures: 20</div><div><br></div><div style>cheers,</div><div style>--renato</div><div style><br></div><div style>[1] <a href="http://chromeos-cr48.blogspot.co.uk/2012/10/arm-chrubuntu-1204-alpha-1-now.html">http://chromeos-cr48.blogspot.co.uk/2012/10/arm-chrubuntu-1204-alpha-1-now.html</a></div>
</div></div>