[llvm-commits] [PATCH] [MIPS] Avoid use of __builtin_unreachable() when compiling LLVM for MIPS.
Reed Kotler
rkotler at mips.com
Wed Jul 25 02:17:46 PDT 2012
Hi Duncan,
I did not review this patch in detail but discussed it with Akira last
night and he was okay with it though I don't think he reviewed it any
detail either.
The problem is that llvm is used in Android now in several places and
Google will only pull from official places (not from private Mips
repositories). Their release schedule is not the same as official llvm
release points. I imagine that this will be the case with many of the
users of llvm.
IN keeping with the llvm putback philosophy, we are trying to do
incremental development and always be in sync with tip of tree.
It even creates problems for the MIPS team internally when individuals
start to hold onto patches.
We all work on separate git branches that are synced every day to llvm
tip of tree. There is some
overlap and for example, we often have to change td files and other
common files within the MIPS
port while working on different features.
We do our own constant testing of llvm for MIPS. Our build procedures
pull from tip of tree every day and run many variants of test suite for
MIPS to avoid regressions.
I think that the main thing is to not regress the compiler or to break
anyone elses ports.
Reed
On 07/25/2012 01:13 AM, Duncan Sands wrote:
> Hi Petar,
>
>> as I mentioned in the previous email, the bug report I pasted link for was the original root cause. There seem to be more issues caused by __builtin_unreachable, and toolchains that have a fix for that one (for instance latest Google 4.6.x toolchain for Android) still have issues with __builtin_unreachable for MIPS.
>>
>> We will inevitably resolve all these issues (we are debugging the latest occurrence now), but until that point is reached, we need to compile LLVM correctly.
> if this is a question of "make llvm_unreachable more friendly while we fix the
> MIPS backend" why not just apply your change locally rather than in the main
> repository? That said, I personally think it was a mistake to replace
> assert(false) with llvm_unreachable in places that may be reachable but
> shouldn't happen.
>
> Ciao, Duncan.
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list