aboutsummaryrefslogtreecommitdiffhomepage
path: root/src-backend/datastruct.c
AgeCommit message (Expand)AuthorFilesLines
2024-06-02Don't use ref types for function referencesSamuel Lidén Borell1-2/+2
2024-05-25Backend: Check that CSBE_OPV_DISCARD flag is used correctlySamuel Lidén Borell1-0/+4
2024-05-25Backend: Preserve trapping (if needed) during IR peephole optimizationSamuel Lidén Borell1-7/+11
2024-05-25Backend: Also optimize arithmetic ops of mixed typesSamuel Lidén Borell1-9/+70
2024-05-24Backend: Check applicability/state of CSBE operationsSamuel Lidén Borell1-1/+58
2024-05-24Backend: Fix implicit return when last statement is not last EBBSamuel Lidén Borell1-0/+15
2024-05-11Update copyright yearsSamuel Lidén Borell1-1/+1
2024-05-10Backend: Allow datadefs after defs_done (for inline literals)Samuel Lidén Borell1-1/+0
2024-05-09Backend: Don't process unallocated variablesSamuel Lidén Borell1-2/+7
2024-05-08Backend: Emit contents in .rodata sectionSamuel Lidén Borell1-0/+9
2024-05-06ir: Emit integer, array and struct values for datadefsSamuel Lidén Borell1-5/+3
2024-05-05Backend: Initial-values for datadefs + IR-gen of string literalsSamuel Lidén Borell1-25/+98
2024-05-04Backend: Merge ADDRSTATICELEM/ADDRDYNAMICELEM into ADDRELEMSamuel Lidén Borell1-6/+22
2024-05-01Backend: Fix variable usage detection of function parametersSamuel Lidén Borell1-2/+3
2024-05-01Backend: Add macros for checking operand kindSamuel Lidén Borell1-17/+15
2024-05-01Backend: Optimize out EQ/NEQ/LT/... with zero when followed by CONDJUMPSamuel Lidén Borell1-26/+118
2024-05-01Backend: Break out liveness handling from csbe_operand_*Samuel Lidén Borell1-6/+16
2024-04-28Backend: Optimize out redundant MOVE'sSamuel Lidén Borell1-26/+99
2024-04-28Backend: Optimize out no-op ADD/SUB/DIV'sSamuel Lidén Borell1-17/+66
2024-04-28Backend: Optimize out no-op MOVE'sSamuel Lidén Borell1-0/+8
2024-04-28Backend: Optimize MUL with constant 0 or 1Samuel Lidén Borell1-0/+67
2024-04-26Backend: Optimize CONDTRAP with constant to either TRAP or NOPSamuel Lidén Borell1-18/+32
2024-04-26Backend: Move CSBEO_CONDJUMP optimization to arch-independent codeSamuel Lidén Borell1-0/+31
2024-04-26Backend: Add CSBE_TRAP_ON_ERROR defineSamuel Lidén Borell1-6/+6
2024-04-24Backend: Fix incorrect varlane allocation. Add commentsSamuel Lidén Borell1-1/+1
2024-04-24Backend: Auto-detect addressed variablesSamuel Lidén Borell1-1/+11
2024-04-13ir: Always emit struct/array types in ADDR/LOAD opsSamuel Lidén Borell1-0/+15
2024-04-07Backend: Implement type operands (e.g. for ADDRSTATICELEM)Samuel Lidén Borell1-11/+25
2024-04-07irdump: Refactor to avoid buffering of source arguments outputSamuel Lidén Borell1-45/+4
2024-04-07Backend: Replace unsafe allocp(x*y) with allocpa(x,y)Samuel Lidén Borell1-2/+2
2024-04-01ir: Fix IR generation of non-trivial lvalues (such as fields/indices)Samuel Lidén Borell1-0/+45
2024-03-17aarch64: Implement outbound register parametersSamuel Lidén Borell1-2/+14
2024-03-17Backend: Use callee-saved registersSamuel Lidén Borell1-6/+118
2024-03-16aarch64: Basic (and inefficient) register save/restoreSamuel Lidén Borell1-0/+4
2024-02-23Backend: Avoid address-of-NULL when there are no typedefsSamuel Lidén Borell1-1/+1
2023-09-09Backend: Don't (temporarily) create out-of-bounds pointerSamuel Lidén Borell1-3/+5
2023-07-28Backend: Add flag to specify main functionSamuel Lidén Borell1-0/+4
2023-07-16ir: Mark exported/imported functions as suchSamuel Lidén Borell1-0/+2
2023-07-14Backend: Actually save/restore link registerSamuel Lidén Borell1-0/+5
2023-07-13aarch64: Initial support for internal calls (arg-less void calls only)Samuel Lidén Borell1-0/+1
2023-07-10Backend: Replace *PTR ops with ADDR* LOAD* ops. Fix lvalue access to localsSamuel Lidén Borell1-2/+5
2023-07-07Fix some cppcheck warnings and improve commentsSamuel Lidén Borell1-2/+2
2023-07-07Backend: Fix named typesSamuel Lidén Borell1-22/+146
2023-07-02Backend: Fix mixing of 64 bit and pointer operands in IRSamuel Lidén Borell1-4/+4
2023-07-01Backend: Fix order of MOVETOPTR operands in irdumpSamuel Lidén Borell1-12/+14
2023-07-01Backend: Optimize away instructions after jump/return/trapSamuel Lidén Borell1-3/+22
2023-07-01Backend: Add jump when EBB's are non-sequentialSamuel Lidén Borell1-1/+9
2023-07-01Backend: Mark defined EBB's and fix ebb_id after switch-caseSamuel Lidén Borell1-2/+3
2023-06-25Backend: Include types in IR dumpSamuel Lidén Borell1-1/+1
2023-06-21Divert last operation in declarations to the correct variableSamuel Lidén Borell1-1/+23