[cpl] [Tema 4] Task 3 - Select

Georgiana Diana geodiana93 at gmail.com
Wed Dec 30 21:40:48 EET 2015


Intreb, pentru ca am vazut ca sunt definite aceste clase (Is_Call, ...),
dar pentru instructiunile din scheletul de cod nu sunt folosite, ci doar
flag-urile din ele.

2015-12-30 21:39 GMT+02:00 Georgiana Diana <geodiana93 at gmail.com>:

> Buna,
> In legatura cu adaugarea instructiunii in CplInstrInfoFormat.td, este okay
> urmatorul format de definitie:
>
> def INSTRUCTIUNE : Is_xxx, InstCplxxx<...>;
>
> ?
>
> In locul lui Is_xx ar putea sa fie Is_Call, Is_Branch, etc. O astfel de
> definitie extinde doua clase, nu ?
>
> 2015-12-30 21:33 GMT+02:00 Alexandru Guduleasa via cpl <
> cpl at cursuri.cs.pub.ro>:
>
>> Pentru a obține instrucțiunea BL, ar trebui să fie suficient task-ul 1.
>> Pattern-urile sunt deja adăugate, voi trebuia doar să adăugați
>> instrucțiunea.
>>
>> Pentru testul add.c ar trebui să vezi 2 instrucțiuni de acest tip:
>>     [...]
>>     bl f
>>     bl dump_int
>>     [...]
>>
>> Încearcă să urmărești asamblarea generată pentru funcția cpl_main și ar
>> trebui să găseși eroarea.
>>
>> Spor,
>> Alex
>>
>>
>> 2015-12-30 21:16 GMT+02:00 Alexandru Tifrea <alex.tifrea93 at gmail.com>:
>>
>>> PS: legat de raspunsul tau de pe celalalt thread, apelul indirect (cu
>>> CALLR) functioneaza. Am verificat si, de exemplu, pentru testul loop.c se
>>> efectueaza inlocuirea lui CALLR cu ce trebuie atunci cand sunt folositi
>>> pointeri la functii. In schimb, niciun apel direct nu pare sa se regaseasca
>>> in fisierele .s.
>>>
>>>
>>> În data de 30 decembrie 2015, 21:11, Alexandru Tifrea <
>>> alex.tifrea93 at gmail.com> a scris:
>>>
>>>> Mersi de raspunsul prompt :).
>>>> Mai am o intrebare, insa: dupa ce am implementat primele 5 task-uri, in
>>>> fisierele .s generate nu pare sa fie inclusa vreo instructiune BL. Asta
>>>> inseamna ca toate apelurile care nu au argumentul in registru (deci tot ce
>>>> nu e CALLR) nu se regaseste in asm-ul care se genereaza. Daca nu ma insel,
>>>> nu a trebuit sa facem vreo modificare in legatura cu asta (nu se mentiona
>>>> cred nici in enunt nici in TODO-uri). Problema e ca nici nu prea stiu cum
>>>> as putea sa abordez debugging-ul pentru a vedea ce cauzeaza problema asta.
>>>>
>>>> Multumesc,
>>>> Alex
>>>>
>>>> În data de 30 decembrie 2015, 17:20, Alexandru Guduleasa via cpl <
>>>> cpl at cursuri.cs.pub.ro> a scris:
>>>>
>>>>> În cazul selectul-ui, problema poate fi rezolvată direct cu un pattern.
>>>>> Se poate observa că un pattern poate mapa o instrucțiune din IR în mai
>>>>> multe instrucțiuni mașină (vezi CplBOA).
>>>>> Încearcă să găsești o funcție logică pentru rezultatul instrucțiunii
>>>>> și să o implementezi folosind instrucțiunile din set.
>>>>> Un aspect important îl constituie valorile limitate pe care le poate
>>>>> avea primul operand al instrucțiunii select.
>>>>>
>>>>> Spor
>>>>> Alex
>>>>>
>>>>>
>>>>> 2015-12-30 16:22 GMT+02:00 Alexandru Tifrea via cpl <
>>>>> cpl at cursuri.cs.pub.ro>:
>>>>> > Salut,
>>>>> >
>>>>> > Am putea primi un hint legat de rezolvarea task-ului 3? Am petrecut
>>>>> destul
>>>>> > de mult timp incercand sa gasesc o solutie si nu simt ca sunt prea
>>>>> aproape
>>>>> > de rezultat nici acum :).
>>>>> >
>>>>> > Mersi,
>>>>> > Alex
>>>>> >
>>>>> > _______________________________________________
>>>>> > cpl mailing list
>>>>> > cpl at cursuri.cs.pub.ro
>>>>> > http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
>>>>> >
>>>>> _______________________________________________
>>>>> cpl mailing list
>>>>> cpl at cursuri.cs.pub.ro
>>>>> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
>>>>>
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> cpl mailing list
>> cpl at cursuri.cs.pub.ro
>> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
>>
>>
>
>
> --
> *Georgiana Diana Ciocirdel*
> Polytechnic University of Bucharest,
> Computer Science
>



-- 
*Georgiana Diana Ciocirdel*
Polytechnic University of Bucharest,
Computer Science
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/cpl/attachments/20151230/eca865cc/attachment-0001.html>


More information about the cpl mailing list