RISC-V Bootstrap problems
Jeff Law
jlaw@ventanamicro.com
Thu May 25 13:55:15 GMT 2023
On 5/24/23 22:19, juzhe.zhong@rivai.ai wrote:
> >> It's highly unlikely we'll switch from the mechanisms we're using.
>>>They're pretty deeply embedded into how all the ports are developed and
>>>work.
>
> We just take a look at the build file. It seems that the functions
> generated by define_insn
> are so many. Do we have the chance optimize it?
> I believe the tablegen mechanism in LLVM is well optimized in case of
> generated files and functions
> so that they won't be affected to much as instructions go up.
Any define_insn or define_expand with a name that does not begin with a
'*' will result in a function in insn-emit.
Those functions allow us to generate those patterns either from generic
parts of the compiler or from within the target. So if I have
(define_insn "fubar" ...)
I can say
rtx x = gen_fubar (...);
To constuct RTL matching the pattern for "fubar".
So if there are patterns with names that are not used in this way, you
can prefix their name with '*' to suppress creation of the generator
function. I have not looked to see if this would help our situation.
jeff
More information about the Gcc-patches
mailing list