It might still be possible to detect some patterns cheaply - I'l see
what I can come up with.
Also, any successful reduction in the number of passes in the peephole
optimizer will result in a speed-up that may offset any expensive checks
(and the most expensive ones can be reserved for -O3 and -O4).
Gareth aka. Kit
On 20/07/2020 19:03, Florian Klämpfl wrote:
Am 19.07.20 um 23:37 schrieb Stefan Glienke:
Still kinda disappointing compared to what it could be - while this
is some simple code a modern compiler should try to eliminate
conditional jumps even with the incredibly powerful branch predictors
nowadays.
clang and gcc emit this - I would guess they detect quite some common
patterns like this.
The price for this are huge compilation times. Having a design to able
to detect such patterns and actually detecting them, simply takes time.
FPC compiling itself with the LLVM backend is approx. 10 times slower
than FPC with it's native backend. On average code however, the code
generated by the LLVM backend is only 10 % to 20 % faster.
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel