Evan Cheng
2012-May-11 03:11 UTC
[LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
Hi all, 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. Thanks, Evan
陳韋任
2012-May-11 03:56 UTC
[LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
> 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 -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj
James Molloy
2012-May-11 07:25 UTC
[LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
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?
Possibly Parallel Threads
- [LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
- [LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
- [LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
- [LLVMdev] Request for Help: Teach ARM target to auto-detect cpu / subtarget features
- [LLVMdev] R_ARM_ABS32 disassembly with integrated-as