#34498 closed enhancement (wontfix)
llvm-3.x should add a variant to enable additional targets beyond those used on Apple hardware
Reported by: | Veence (Vincent) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.0 |
Keywords: | llvm | Cc: | jeremyhu (Jeremy Huddleston Sequoia) |
Port: | llvm-3.0, llvm-3.1 |
Description
The llvm-3.x ports as written today compile backends for a lot of targets (e.g.: MIPS, Alpha) which are totally useless on Apple hardware. Compiling those backends take a lot of time, and, on 2 GB machines, the final linking exceed the amount of available memory, which causes tons of swap and speed the building further down. I therefore suggest that, by default, llvm-3.x ports do only build "useful" backends (x86, x86_64, powerpc, arm) and that the other ones be left out except if the user chooses a dedicated variant (e.g. +alltargets).
Change History (4)
comment:1 follow-up: 2 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:2 Changed 13 years ago by Veence (Vincent)
Replying to jeremyhu@…:
No. I don't want variant overload. The additional targets don't take that much time to compile.
Well, I don’t know on which machine you’ve tried, but on mine (MacBook 2008, first Unibody model) with 2 GB, it takes a long time to compile all targets and then after two hours the final link was not completed. Suppressing unwanted targets restored normal behavior…
comment:3 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
That's because of ARMDisassembler.cpp taking ages to compile, which is a known bug. Even if we did have a variant for the "unwanted" architectures, I'd include arm in the "wanted" architectures.
comment:4 Changed 13 years ago by Veence (Vincent)
I’m not sure ARM was so problematic. But anyhow, you know the port better than I do. I made a private fork, and am happy with it. Cheers!
No. I don't want variant overload. The additional targets don't take that much time to compile.
The only reason for the arm_runtime variant in the clang ports is that I haven't gotten around to seeing if my recent changes allow it to build on external systems without the iOS SDK installed.