Sven/Sarah Barth
19cee9b841
+ mark the def for a capturer class with a corresponding object option
2022-11-06 22:01:48 +01:00
Sven/Sarah Barth
a714e2ff35
* fix #39981 : retrieve the symbol that returns the desired procdef/procvardef not maybe the Self or something else as we need that symbol to differentiate the procdefs
...
+ added test
2022-11-06 22:01:48 +01:00
Sven/Sarah Barth
3c2703787c
* ensure that newly created tloadparentfpnodes have a valid resultdef as they might be created in situation where the loadnode itself is no longer typechecked
2022-11-06 22:01:48 +01:00
J. Gareth "Curious Kit" Moreton
c40f518de4
* x86: "x and ((1 shl y) - 1)" to BZHI adapted for in_and_assign_x_y
2022-11-06 15:42:09 +00:00
J. Gareth "Curious Kit" Moreton
7da9b4a988
* x86: The code generator will now attempt to manipulate "x and ((1 shl y) - 1)" to use BZHI
2022-11-06 15:42:09 +00:00
J. Gareth "Curious Kit" Moreton
e748e4c7ab
* x86: Added new emit_reg_ref_reg routine and related methods to support BMI2 instructions
2022-11-06 15:42:09 +00:00
Jonas Maebe
95f94a279c
llvmdbg: fixes for method debug info
...
Mark "self" parameter as artificial
Add methods to the scope of the class/record rather than to the file scope
Add the vmt field, strip the "($)hidden" prefix from its name, and emit its
real type
2022-11-06 16:41:25 +01:00
Jonas Maebe
c5cdfbd9c0
dwarf-eh: don't emit header if there's no data to emit
2022-11-06 16:41:25 +01:00
florian
1b08b89b7b
* check if a target really supports safecall before calling load_safecallresult_node
2022-11-06 16:38:01 +01:00
florian
3db1415a44
* generate correct dfa for subroutines declared as safecall
2022-11-05 16:56:24 +01:00
florian
e67670fa70
* changed of do_optdeadstoreelim must be passed by reference as noted by Alexey Torgashin
2022-11-03 19:01:02 +01:00
florian
342524c312
* run dead store elimination multiple times if needed
2022-11-02 22:14:12 +01:00
florian
a0366d7d28
* dead store elimnation should not remove statements which can cause an exception
2022-11-02 22:13:40 +01:00
florian
3f7bf0fd70
* stop generation of typed array constants if the size does not match, resolves #39980
2022-11-01 21:16:31 +01:00
florian
0eee70ac81
* fix FindUnitSymtable for exception symtables, resolves #24801 and #39974
...
* more consistent naming of exceptsymtable enumeration symbol
2022-10-31 20:19:10 +01:00
J. Gareth "Curious Kit" Moreton
dbd8259c48
* x86: Fixed mistake in var9 optimisation under -Os; "andl $255,%eax" is not
...
smaller than "movzbl %al,%eax" because the immediate is sign-extended,
not zero-extended, so $255 will be stored as a 32-bit value.
2022-10-31 18:40:23 +00:00
Pierre Muller
92cc78e723
Allow cycle to finish successfully with -dEXTDEBUG without ALLOW_WARNINGS=1
2022-10-31 07:09:37 +01:00
Jonas Maebe
6d3e3d06e2
Linux: don't discard CFI when using it for exceptions
2022-10-30 21:57:19 +01:00
Jonas Maebe
57935a895c
Darwin: really fix -Xg for DWARF4
2022-10-30 21:57:19 +01:00
Jonas Maebe
e62cf5b9e7
systems_iphonesym -> systems_iphonesim
...
It's a simulator, not a symbolator
2022-10-30 21:57:18 +01:00
J. Gareth "Curious Kit" Moreton
3ba9cf5b4f
* x86: PostPeepholeOptTestOr has different debug messages for each found instruction, and also tests for BEXTR and BZHI.
2022-10-30 16:16:56 +00:00
J. Gareth "Curious Kit" Moreton
a7d1f7d771
* x86: FuncMov2Func now has code to remove "mov %reg,%reg" (since it doesn't get removed in Pass 2).
2022-10-30 16:06:01 +00:00
J. Gareth "Curious Kit" Moreton
3d805b8a9a
* x86: FuncMov2Func moved to separate method and also called by OptPass2MOV.
2022-10-30 16:06:01 +00:00
J. Gareth "Curious Kit" Moreton
d35be8a9ea
* x86: Extended FuncMov2Func optimisation to handle 1, 3 and 4-operand functions
2022-10-30 16:06:01 +00:00
J. Gareth "Curious Kit" Moreton
9fc2b9062d
* x86: Updated Mov0LblCmp0Jne optimisation to work when alignment hints appear before the label
2022-10-30 15:58:43 +00:00
florian
a1064ad8fd
+ MovSubCmp2MovSub optimization
2022-10-30 16:58:09 +01:00
Pierre Muller
ae12a79bf7
Avoid string truncation
2022-10-30 10:59:31 +01:00
Pierre Muller
dce70b3b70
Short version of the mips code genration bug
2022-10-29 21:34:00 +01:00
Jonas Maebe
f18524f2fe
Darwin: fix mac0S 11.0 version string
...
Prevents LLVM warnings
2022-10-29 14:24:37 +02:00
Jonas Maebe
cd8ddffe42
AArch64: X18 is not a volatile register
...
It may be unused on some platforms, but in general it's reserved for OS library
usage (usually related to TLS)
2022-10-29 14:24:37 +02:00
Jonas Maebe
49fb1b4c29
RTTI: don't generate full RTTI for internal types
...
These are types created by the code generator for internal purposes, and hence
are never queried by user code
2022-10-29 14:24:37 +02:00
Sven/Sarah Barth
f0e31628ad
* ensure that hmodule is initialized correctly
2022-10-29 12:15:59 +02:00
Sven/Sarah Barth
e050a019a2
* fix #29859 : ensure that it's correctly passed down into generate_specialization whether a unit name was provided for the specialization and if so search the generic only in that unit
...
+ added tests
2022-10-28 17:40:53 +02:00
Sven/Sarah Barth
35a57bac94
* generate the generic name for a specialization of a generic interface alias in the same way as for specializations in general
2022-10-28 17:36:22 +02:00
Sven/Sarah Barth
399d82e1da
- remove unused consume_generic_interface; it has been superseded by handle_generic_interface in 17a0ac7fc0
2022-10-28 13:57:02 +02:00
florian
c75bb80b14
* more debug messages
...
* better exit codes for test
2022-10-26 23:20:18 +02:00
Pierre Muller
49ddf159b2
Fix internalerror generated with riscv32 compiler.
...
Fix
Compiling ./fcl-passrc/src/pscanner.pp
pscanner.pp(2512,40) Fatal: Internal error 2006010801
error generated for riscv32-linux target after commit #c83e6c34
by correcting expectloc for riscv32 for 64-bit comparisons.
Add a small test.
2022-10-25 18:42:14 +02:00
florian
be401422fd
* more warnings after last commit fixed
2022-10-24 22:52:52 +02:00
florian
3fa77a4f62
* fix life information propagation for while loops, resolves #39971
...
* warnings/errors fixed which are caused by the new life information propagation
+ test
2022-10-24 22:13:43 +02:00
florian
86547d35d7
+ apply OpTest/Or2Op optimization to ANDN as well
...
+ DebugMsg for OpTest/Or2Op added
2022-10-23 22:10:35 +02:00
J. Gareth "Curious Kit" Moreton
a1ea1dd98e
* x86: Changed BMI2 check to BMI1 for ordinal ANDN optimisation
2022-10-22 21:08:36 +00:00
Pierre Muller
f3179cb718
Add system_powerpc_wii to supported_targets of powerpc generic GNU assembler
2022-10-22 15:34:38 -05:00
J. Gareth "Curious Kit" Moreton
626e23d89f
* x86: The code generator will now attempt manipulate "x and (not y)" (where x and y are ordinals) to use ANDN.
2022-10-22 13:13:44 +00:00
J. Gareth "Curious Kit" Moreton
567244007e
* x86: Improvement to bug fix so an optimisation can still be made even if the other register is in use
2022-10-22 13:07:16 +00:00
J. Gareth "Curious Kit" Moreton
41b8f6a42e
* x86: Bug fix where improved AddMov2Mov optimisation didn't
...
check to see if the other register was modified in between
2022-10-22 13:07:16 +00:00
florian
2b48afe151
* check if optinfo is assigned before using it, resolves #39913
2022-10-21 21:14:39 +02:00
florian
2c51abf40d
+ print optinfo pointer if set
2022-10-21 21:13:28 +02:00
Martin
dd0711a27e
Fix incorrect dwarf entry count. Issue #39928 introduced in 1b6982107f
2022-10-20 20:03:23 +00:00
florian
e142953c6d
* make the hidden high parameter for short strings a byte for 8 bit CPUs
2022-10-19 22:48:54 +02:00
J. Gareth "Curious Kit" Moreton
45b1d592f5
* x86: Bug fix where "mov $0,%reg" was inserted on the wrong side of a SETcc instruction
2022-10-18 20:47:42 +00:00