Commit Graph

26729 Commits

Author SHA1 Message Date
J. Gareth "Curious Kit" Moreton
b8933dd267 * x86: Some refactoring to use aoc_ForceNewIteration instead of manually advancing p 2023-03-04 18:40:27 +00:00
J. Gareth "Curious Kit" Moreton
7854152304 * Adjustment to TBLockNode.pass_1 to actually strip nothing nodes 2023-03-03 21:07:31 +00:00
J. Gareth "Curious Kit" Moreton
ecf2ad3e53 x86: Some oversights fixed where another iteration of pass 1 wasn't performed when it should have been 2023-03-03 20:47:24 +00:00
florian
708aaa7b97 * fix (hopefully) build without an ld.bfd variant 2023-03-02 22:56:23 +01:00
florian
40f23030dc * check if a linker with the postfix .bfd exists, if yes, use it, resolves #40175 2023-03-01 23:01:19 +01:00
J. Gareth "Curious Kit" Moreton
c4899b5dc0 * Dead code in TAddNode.Simplify has been stripped 2023-02-28 20:56:38 +00:00
J. Gareth "Curious Kit" Moreton
487ca08cf3 * In TAddNode.Simplify, commutative operations now ensure integer constant operands go on the right for simplicity 2023-02-28 20:56:38 +00:00
Sergey Larin
de58691e75 Allow WideChar const to UTF8String const conversion 2023-02-24 22:59:39 +00:00
J. Gareth "Curious Kit" Moreton
4d33e5f137 * x86: OptPass1_V_MOVAP now uses GetNextInstructionUsingReg and UpdateUsedRegsBetween 2023-02-24 19:39:39 +00:00
J. Gareth "Curious Kit" Moreton
9ee672f9eb * New UpdateUsedRegsBetween utility subroutine 2023-02-24 19:39:39 +00:00
florian
95e5eeb226 * fix compilation with -dEXTDEBUG 2023-02-24 20:39:13 +01:00
J. Gareth "Curious Kit" Moreton
a5702d89e8 * More complex uses of the pruning methods in TAddNode.Simplify 2023-02-21 20:44:02 +00:00
J. Gareth "Curious Kit" Moreton
9d8fd6d55e * TAddNode.Simplify now uses pruning methods 2023-02-21 20:44:02 +00:00
J. Gareth "Curious Kit" Moreton
7488f1e3f8 * New node pruning methods 2023-02-21 20:44:02 +00:00
J. Gareth "Curious Kit" Moreton
2a44ffe51b * x86: BZHI optimisation now sets the subtract and shift nodes to 'do not execute' as they are skipped over. 2023-02-21 20:44:02 +00:00
J. Gareth "Curious Kit" Moreton
16bd996e74 * x86: 'and not' optimisation now sets the NOT node to 'do not execute' as it is skipped over 2023-02-21 20:44:02 +00:00
J. Gareth "Curious Kit" Moreton
1b43913408 * New 'do not execute' flag for notes and respective internal error triggering 2023-02-21 20:44:02 +00:00
florian
586a7d30ab * patch by ccrause: fixes another .fpc* section problem for AVR, resolves #40162 2023-02-20 22:48:15 +01:00
J. Gareth "Curious Kit" Moreton
dd7320ec13 * x86: PostPeepholeOptCmp and PostPeepholeOptTestOr
now do a final attempt of TrySwapMovCmp to
	 clean up Pass 2 optimisations
2023-02-19 20:22:49 +00:00
J. Gareth "Curious Kit" Moreton
4d676cd6fa * x86: JccMovJmpMov2CMovCMov will no longer move
MOV instructions (fixes i40122)
2023-02-19 20:22:49 +00:00
florian
8f7e61eef6 * patch by ccrause: do not load .fpc* sections into avr microcontroller to save space, resolves #40160 2023-02-19 20:19:20 +01:00
J. Gareth "Curious Kit" Moreton
4e8ef448ed * i386: Bug fix where EBP was marked as preserved when it wasn't, causing faulty optimisations 2023-02-19 16:49:29 +00:00
florian
a221f2af79 * completed post/pre inc/decrement addressing mode instructions in TAoptBaseCpu.RegModifiedByInstruction 2023-02-18 11:15:39 +01:00
florian
22f1289b2a * post/pre inc/decrement references modify obviously the base register on avr, resolves #40153 2023-02-17 23:02:40 +01:00
florian
ece59f2534 * also count the use of enum syms in preprocessor expressions correctly 2023-02-16 23:02:47 +01:00
florian
811c683775 * set rangedef of dyn. arrays correctly, resolves #40149 2023-02-15 22:14:55 +01:00
Pierre Muller
b49c3fe4f8 Aslo check that live_end is assigned before refering to it 2023-02-13 15:50:04 +01:00
Pierre Muller
c8b2a36bb1 Add support for -Ploongarch64 option 2023-02-13 13:01:21 +00:00
florian
63199a0966 * memory sizes updated 2023-02-12 20:55:38 +01:00
J. Gareth "Curious Kit" Moreton
2224305834 * x86: Fixed bad register tracking in OptPass2JMP 2023-02-12 15:14:21 +00:00
florian
def475f889 * arm compilation fixed 2023-02-11 21:21:21 +01:00
florian
d06852e6e9 + exec_e_cant_call_linker shows now the error message 2023-02-11 21:07:01 +01:00
florian
d3ccd10674 * call esptool.py properly on Darwin 2023-02-11 21:06:40 +01:00
florian
67864b662a * fix systems_freertos 2023-02-11 20:49:52 +01:00
florian
c7a0c0bbb4 * set FPU type properly for riscv32-freertos 2023-02-11 20:42:31 +01:00
florian
f1f84a292c * don't not generate non-constant leb128 entriesm for riscv32-freertos 2023-02-10 21:28:39 +01:00
florian
0e05e908d5 riscv32-freertos:
* unit name fixed
 * linker script fixed
 * assembler supports dwarf
2023-02-09 21:29:06 +01:00
florian
71e0c12c88 * set fpu type correctly for riscv32-freertos 2023-02-08 22:38:17 +01:00
florian
87ec3d6fad + completed identifiers for RiscV ABIs 2023-02-08 22:26:58 +01:00
florian
7e3bdd501c * enable to check the existing of environment variables in config files 2023-02-08 21:33:21 +01:00
florian
f79448a9ff * target cpu type fixed 2023-02-07 22:59:51 +01:00
J. Gareth "Curious Kit" Moreton
33dfb6cb4e * x86: Converted bit-test optimisations to use
debug_hexstr so comments aren't truncated
	 (and put $ before BTx values)
2023-02-06 21:31:50 +00:00
J. Gareth "Curious Kit" Moreton
ae47cc2c88 * x86: New debug_hexstr instruction to help produce concise debug comments 2023-02-06 21:31:50 +00:00
florian
6e84ee5806 * patch by Jinyang He to fix building loongarch64 with -Oodfa/-O4 2023-02-06 22:26:02 +01:00
Jinyang He
783bbb66f9 Update Makefiles 2023-02-05 19:18:48 +00:00
Jinyang He
92e60d2107 add loongarch64 linux rtl support 2023-02-05 19:18:48 +00:00
Jinyang He
3d2c96ebbf Add loongarch64 linux support to compiler 2023-02-05 19:18:48 +00:00
Jinyang He
12c4290ffe Add loongarch64 architecture support to compiler 2023-02-05 19:18:48 +00:00
Jinyang He
8fac3d62ce add has_double_field 2023-02-05 19:18:48 +00:00
Jinyang He
96f4300158 Fix the edge of first_imaginary in move op 2023-02-05 19:18:48 +00:00