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