#4433 closed enhancement (wontfix)
Add ISL to book
Reported by: | thomas | Owned by: | lfs-book |
---|---|---|---|
Priority: | normal | Milestone: | 9.0 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
This is to follow a thread started by Xi Ruoyao:
---
Now GCC relys on ISL (https://repo.or.cz/isl.git) to enable graphite optimization, instead of Cloog-PPL and PPL.
We should update this in LFS Appendix C.
---
Better, just add it to the book in the 8.5 cycle and remove the note. It's a tiny addition.
---
Another issue: ISL is also an optional dependency of Binutils (to enable parallel linking of ld.gold). And, ISL must be built after GMP. So if we would do that the build sequence should be changed to:
Bc -> GMP -> ISL -> Binutils -> MPFR -> MPC -> Shadow -> GCC
I tried this once but it seems some GMP tests were skipped. So I rebuilt GMP after Binutils:
Bc -> GMP (some tests skipped) -> ISL -> Binutils -> GMP (final) -> MPFR -> ...
Change History (12)
comment:1 by , 6 years ago
follow-up: 5 comment:2 by , 6 years ago
This is not clear to me. What does ISL have to do with shadow? From what I understand any time prior to gcc would be OK.
What are the perrequsites for ISL?
follow-up: 4 comment:3 by , 6 years ago
MesaLib builds its own isl library. Maybe it could use system installed isl if it goes into book.
I just saw it flying by in the logfiles. (unfortunatly, i have no time right now to have a deeper look. Just add this comment to remember it.)
comment:4 by , 6 years ago
Replying to thomas:
MesaLib builds its own isl library. Maybe it could use system installed isl if it goes into book.
Negative. "ISL" stands for "Intel Surface Layout" in Mesa.
comment:5 by , 6 years ago
Replying to bdubbs:
This is not clear to me. What does ISL have to do with shadow? From what I understand any time prior to gcc would be OK.
What are the perrequsites for ISL?
ISL is an optional dependency of GCC. DJ suggested that we could add ISL into the book because it would be only a tiny addition.
follow-up: 7 comment:6 by , 6 years ago
I understand, but was wondering what packages were needed to build ISL.
BTW, that 'tiny' addition needs that about seven pages need to be modified as well as one new one added. Lets see:
general.ent packages.ent chapter01/changelog chapter01/whatnew chapter03/packages.xml chapter06/chapter06.xml chapter06/isl.xml (new) appendices/dependencies.xml
And then the currency script has to be updated.
Adding any page is non-trivial.
comment:7 by , 6 years ago
Replying to bdubbs:
I understand, but was wondering what packages were needed to build ISL.
It must be built after GMP.
BTW, that 'tiny' addition needs that about seven pages need to be modified as well as one new one added. Lets see:
general.ent packages.ent chapter01/changelog chapter01/whatnew chapter03/packages.xml chapter06/chapter06.xml chapter06/isl.xml (new) appendices/dependencies.xml
Then we can just close this as WONTFIX. No LFS/BLFS packages take advantage of Graphite loop optimization, I think...
follow-up: 10 comment:8 by , 6 years ago
URL=http://isl.gforge.inria.fr/isl-0.20.tar.gz SIZE=2.0 MB MD5SUM=895cbb81d8552aa2d77108988035bdc4 Needs: gmp; Uses python2 (not sure if py3 is OK or not) ./configure --prefix=/usr --disable-static make make check (0.3 SBU; 1 extra MB) make install BUILD SIZE= 23 MB (2.7 MB installed) SBU=0.4 Library: libisl.so.19.1.0 (and libisl.so.19.1.0-gdb.py) New Directory: ./include/isl Need to move libisl.so.19.1.0-gdb.py from /usr/lib to /usr/share/gdb/auto-load/usr/lib/ In LFS, we would probably need mkdir -p /usr/share/gdb/auto-load/usr/lib/ since isl would be before gcc. (gcc installs libstdc++.so.6.0.25-gdb.py there)
comment:9 by , 6 years ago
The multilib version of LFS adds ISL. You can use parts of that patch: https://io.ax.lt/LFS/lfs/patch-multilib-SVN.diff, rendered book at https://io.ax.lt/LFS/lfs/book/ . We can re-check it - maybe its even there not really required.
Btw, I do not see that adding a page is that a huge effort - it has been done several times for python, openssl and such.
comment:10 by , 6 years ago
Replying to bdubbs:
Needs: gmp; Uses python2 (not sure if py3 is OK or not)
It does not use python2. The Python interface of ISL is written in C++ and self contained (does not need /usr/include/python*
). To use it we need to manually install isl.py in isl-0.20/interface.
comment:11 by , 6 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
I'm going to mark this as wontfix. We do not have anything in LFS or BLFS that uses it. I did add it to the gcc page in BLFS as an optional dependency.
It seems my memory has some flaw. Binutils does not need ISL.
Bc -> Binutils -> GMP -> MPFR -> MPC -> ISL -> Shadow -> GCC should be fine.