[LLVMdev] About inlining the modulo function in ARM architecture

Tim Northover t.p.northover at gmail.com
Mon Nov 10 10:26:03 PST 2014


Hi Ray,

On 10 November 2014 10:13, Alex S <alexmountain13 at gmail.com> wrote:
> Sorry for bothering those not interested. I found that ARM backend will
> insert a modulo function
> (like __modsi3) instead of the modulo instruction. I wonder how we can
> inline the modulo function
> into the program. Is there any OPTION we can use in the opt or llc?

It depends on whether the CPU actually supports integer division.
Surprisingly modern CPUs don't (the Cortex-A9 for example), and LLVM
doesn't synthesise an entire divide loop.

Oddly, it also seems to call the library at -O0, because that's what
the FastISel decides to do. That strikes me as a bug, or at least an
oddity.

Cheers.

Tim.



More information about the llvm-dev mailing list