[cpl] Functii permise
Darius-Florentin Neatu
neatudarius at gmail.com
Tue Jan 23 14:30:29 EET 2018
Salut,
Am vazut un mesaj pe lista de discutii unde era interzisa in mod special
functia: *ConstantFoldInstruction.*
Eu vreau sa folosesc functia *ConstantFoldCompareInstOperands[1]*. Din cate
am vazut pe cod, nu aplica propagari de constante, ci doar compara
constante.
Mai exact doresc sa o folosesc pentru instructiunile de tipul *ICMPINT *avand
ambii operanzi *ConstantInt (verific toate conditiile inainte de apel)*,
pentru a evalua rezultatul unei astfel de comparatii. Doresc sa folosesc
aceasta functie intrucat sunt mai multe tipuri de comparatii (<, >, signed,
unsigned) si nu cred ca scopul temei este sa verificam noi toate cazurile.
"Daca modifica cod, nu aveti voie sa folositi" => Functia doar imi
returneaza un Constant* (operanzii sunt deja in forma finala), eu modific
de mana codul (AST-ul) astfel incat sa scot instructiunea icmp si
rezultatul ei sa poata fi folosit in locurile corespunzatoare.
Este OK aceasta abordare sau trebuie sa scriu si logica din spatele
*ConstantFoldCompareInstOperands?*
Multumesc,
Darius Neatu
341C3
[1] http://llvm.org/doxygen/ConstantFolding_8cpp_source.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/cpl/attachments/20180123/80197c25/attachment.html>
More information about the cpl
mailing list