This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 06/11] Rewrite how instances of passes are cloned


On 08/01/2013 07:55 AM, David Malcolm wrote:
> On Fri, 2013-07-26 at 11:04 -0400, David Malcolm wrote:
>> > gcc/
>> > 
>> > 	Rewrite how instances of passes are cloned to remove assumptions
>> > 	about their sizes (thus allowing pass subclasses to have
>> > 	additional data fields, albeit non-GC-managed ones at this point).
>> > 
>> > 	* passes.c (make_pass_instance): Now that passes have clone
>> > 	methods, rewrite this function to eliminate XNEW and memcpy
>> > 	calls that used hardcoded sizes.  Since this function no longer
>> > 	creates pass instances, rename it to...
>> > 	(add_pass_instance): ...this.  Document the old way that passes
>> > 	were numbered and flagged, and rework this function to continue
>> > 	using it.
>> > 	(next_pass_1): Add an initial_pass argument for use by
>> > 	add_pass_instance.
>> > 	(position_pass): When adding multiple instances of a pass, use
>> > 	the pass's clone method, rather than relying on the XNEW/memcpy
>> > 	within the former make_pass_instance (now add_pass_instance).
>> > 	(pipeline::pipeline): When invoking next_pass_1, also supply the
>> > 	initial instance of the current pass within the pipeline.

Ok (with the pass_manager change).


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]