summary refs log tree commit diff
path: root/lisc/isel.c
AgeCommit message (Collapse)Author
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
2015-10-30store child matchings in the addressing tableQuentin Carbonneaux
2015-10-30missed a few cases in the tree automatonQuentin Carbonneaux
2015-10-30start adress mode recognitionQuentin Carbonneaux
2015-10-30rename spill field in Tmp to slotQuentin Carbonneaux
2015-10-30emit code for extensions, move slots into RAltQuentin Carbonneaux
2015-10-19uniformize sign extension and mem loadsQuentin Carbonneaux
2015-10-06add pool memory managementQuentin Carbonneaux
2015-10-06use new vector functions instead of reallocsQuentin Carbonneaux
2015-10-06specialize vdup into idupQuentin Carbonneaux
2015-10-06factor ins array edition in icpyQuentin Carbonneaux
2015-10-05factor vector duplication in vdup()Quentin Carbonneaux
2015-10-05factor some utility functions/data in util.cQuentin Carbonneaux
2015-10-05clean the command line interfaceQuentin Carbonneaux
2015-10-01fix a bug for structure arguments in regsQuentin Carbonneaux
2015-09-30remove dead assignmentQuentin Carbonneaux
2015-09-30fix two invalid Tmp.spill valuesQuentin Carbonneaux
2015-09-29wip on new stack slots (emit, spill)Quentin Carbonneaux