Could not find include file 'llvm/Intrinsics.td'

Hello.
I am trying to run tblgen so I typed
$ tblgen ARM.td -print-enums -class=Register
in "llvm/lib/Target/ARM"

But I got an error as follows:

Included from ARM.td:18:
Parsing ../Target.td:16: Could not find include file 'llvm/Intrinsics.td'!

As you know, the 16th line of Target.td includes "llvm/Intrinsics.td". But this cannot find Intrinsics.td, I think.
Of course, I indeed checked out that everything is in their positions including Intrinsics.td.

Would you mind telling me reasons I might miss to run this successfully?
Thank you very much.

Seung Jae Lee

Seung Jae Lee wrote:

Hello.
I am trying to run tblgen so I typed
$ tblgen ARM.td -print-enums -class=Register
in "llvm/lib/Target/ARM"
  

You need to add a -I option to your tblgen command line to tell it where
to find the llvm/Intrinsics.td file. I believe the file is in
llvm/include, so you would add -I <directory where you unpacked the llvm

/llvm/include.

Example: If I unpacked the LLVM source in /usr/home/criswell, then I
would do:

cd /usr/home/criswell/llvm/lib/Target/ARM
tblgen -I/usr/home/criswell/llvm/include ARM.td -print-enums -class=Register

-- John T.

Hi Seung,

Hello.
I am trying to run tblgen so I typed
$ tblgen ARM.td -print-enums -class=Register
in "llvm/lib/Target/ARM"

But I got an error as follows:

Included from ARM.td:18:
Parsing ../Target.td:16: Could not find include file 'llvm/Intrinsics.td'!

As you know, the 16th line of Target.td includes "llvm/Intrinsics.td". But this cannot find Intrinsics.td, I think.
Of course, I indeed checked out that everything is in their positions including Intrinsics.td.

Would you mind telling me reasons I might miss to run this successfully?
Thank you very much.

You simply need to provide a -I option to tblgen. Something like:

tblgen ARM.td -print-enums -class=REGISTER -I../../../include

You can find out how the makefile generates its commands with:

make VERBOSE=1

That will cause it to print each command as it executes them. Then you
can see how the makefiles run tblgen.

Reid.