Merging identical functions in GCC

Jed Davis jdev@panix.com
Mon Sep 18 23:18:00 GMT 2006


Mike Stump <mrs@apple.com> writes:

> On Sep 15, 2006, at 2:32 PM, Ross Ridge wrote:
>> Also, I don't think it's safe if you merge only functions in COMDAT
>> sections.
>
> Sure it is, one just needs to merge them as:
>
> variant1: nop
> variant2: nop
> variant3: nop
> 	[ ... ]
>
> this way important inequalities still work.

As a convenient side-effect, setting breakpoints on only one variant
will also still work.

-- 
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l))))))  (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k)))))))    '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))



More information about the Gcc mailing list