summary refs log tree commit diff
path: root/lisc/isel.c
AgeCommit message (Collapse)Author
2016-02-24prepare for big structs passing codeQuentin Carbonneaux
2016-02-24support memory class arguemntsQuentin Carbonneaux
2016-02-24simply use memset to 0 stuffQuentin Carbonneaux
2016-02-24oops, phi nodes rewrite for fast locals was trashedQuentin Carbonneaux
The phi fixing mechanism can use emit(), so we need to set curi before performing the rewrite. Otherwise, we are writing at random places in the instruction buffer (not so bad because it is bounds checked), but then we loose the instructions written (bad)!
2016-02-23cosmetics in isel.cQuentin Carbonneaux
2016-02-23fix uninitialized variable in selpar()Quentin Carbonneaux
2016-02-23patch return, might not workQuentin Carbonneaux
2016-02-22fix buggy name changes in iselQuentin Carbonneaux
2016-02-21complete fp support for small structsQuentin Carbonneaux
There is an oddity/bug though, we use OStorel to store possibly fp registers. Gas does not complain, but this is wrong. The fix is probably to have a simple OStore, like in the OLoad case.
2016-02-21genius or idiot?Quentin Carbonneaux
2016-02-18stop using OXxx1 and use new OLoadQuentin Carbonneaux
2016-02-18use classes in arg classificationQuentin Carbonneaux
2016-02-18complete argcls (pretty ugly...)Quentin Carbonneaux
2016-02-18start completing the fp abiQuentin Carbonneaux
2016-02-15better variable name in selcall()Quentin Carbonneaux
2016-02-15more fp calling conventionsQuentin Carbonneaux
2016-02-15patch isel for store{s,d}Quentin Carbonneaux
2016-02-15partial fix argcls() in iselQuentin Carbonneaux
2016-02-15collect and emit fp constantsQuentin Carbonneaux
2016-02-12fix harmless typo in iselQuentin Carbonneaux
2016-02-11fix the class for generated jumpsQuentin Carbonneaux
2016-02-11fp cmp fixes (highly untested)Quentin Carbonneaux
2016-02-09add one case in address matchingQuentin Carbonneaux
2016-01-29add cheapo static assert in iselQuentin Carbonneaux
2016-01-22fix spacingQuentin Carbonneaux
2016-01-04force warning with XMM15 in rsave[]Quentin Carbonneaux
2015-12-18delete callclb altogetherQuentin Carbonneaux
2015-12-18make call{def,use} fp awareQuentin Carbonneaux
2015-12-18fix isel typoQuentin Carbonneaux
2015-12-10uniformize argument fixingQuentin Carbonneaux
2015-12-08wip on instruction selectionQuentin Carbonneaux
2015-11-30stores becomes storehQuentin Carbonneaux
2015-11-16uniformize looping on instructionsQuentin Carbonneaux
I am actually not sure if "i-b->ins < b->nins" is the best way, maybe the comparison with the last instruction is a little more efficient... At least it is uniform now.
2015-11-13change debug of ABI to AQuentin Carbonneaux
2015-11-01this emit was an emitiQuentin Carbonneaux
2015-10-30add simple dce into iselQuentin Carbonneaux
This looks simple, but it's unclear that the use counts are correct or at least sound after all the instruction massaging that happens for calls/jumps.
2015-10-30finish isel adressing modes and clear the codeQuentin Carbonneaux
2015-10-30simplify constant handling in amatch()Quentin Carbonneaux
2015-10-30store constant addresses in Mem.offsetQuentin Carbonneaux
2015-10-30don't share mems containing temporariesQuentin Carbonneaux
This can cause trouble in register allocation when these temporaries get replaced by registers. On the other hand, offsetted slots and constants can safely be shared.
2015-10-30mention addressing modes in isel main commentQuentin Carbonneaux
2015-10-30start integrating RAMem referencesQuentin Carbonneaux
2015-10-30prepare for using memory refsQuentin Carbonneaux
2015-10-30fix test for load foldingQuentin Carbonneaux
2015-10-30stick scales close to their instructionQuentin Carbonneaux
2015-10-30start work on fusing loads in arithmeticQuentin Carbonneaux
2015-10-30first attempt at address matchingQuentin Carbonneaux
2015-10-30cosmetics on address numbering codeQuentin Carbonneaux
2015-10-30store addressability infos in a structQuentin Carbonneaux
2015-10-30do not give an addressability number to scalesQuentin Carbonneaux