[LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
Chris Lattner
clattner at apple.com
Fri May 11 09:25:58 PDT 2012
On May 11, 2012, at 12:25 AM, James Molloy wrote:
> On 11/05/12 04:56, 陳韋任 wrote:
>>> I've just filed PR12794: Add ARM cpu / subtarget features auto-detection. And I would very much appreciate the community's help to implement this.
>>>
>>> What motivated this? Well this:
>>> http://www.phoronix.com/scan.php?page=news_item&px=MTA5OTM
>>>
>>> I believe one of the reason the benchmark numbers are totally bogus is that the compilation are done on ARM hosts. Given the benchmarks are apparently compiled without -mcpu=cortex-a9, I suspect LLVM ended up generating code for "generic" ARMv4 cpu. This article makes me sick in my stomach.
>> I skip through MCTargetDesc/ARMAsmBackend.cpp, it seems llvm::createARMAsmBackend
>> only pickup different ARM ISA for Darwin. As for Linux, I guess we need to tweak
>> ELFARMAsmBackend? Do we need to modify Clang as well?
>>
>> Regards,
>> chenwj
>>
> The backend sounds like the wrong place to implement this feature.
>
> I'd have thought the Clang driver would be the ideal place?
The right place to implement this is in lib/Support/Host.cpp. X86 has an implementation of sys::getHostCPUName(), but everything else just uses the:
std::string sys::getHostCPUName() {
return "generic";
}
implementation.
-Chris
More information about the llvm-dev
mailing list