This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFC - Refactor tree.h
- From: Mike Stump <mikestump at comcast dot net>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Diego Novillo <dnovillo at google dot com>, Andrew Macleod <amacleod at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Sat, 10 Aug 2013 12:03:31 -0700
- Subject: Re: RFC - Refactor tree.h
- References: <20130809223645 dot GA22559 at google dot com> <48A1A20B-1DF2-45A5-9CB6-13CDC6A89A4F at comcast dot net> <cf6d07ba-b8bc-43c2-9f84-e7709ed7730e at email dot android dot com>
On Aug 10, 2013, at 3:03 AM, Richard Biener <richard.guenther@gmail.com> wrote:
> Mike Stump <mikestump@comcast.net> wrote:
>> On Aug 9, 2013, at 3:36 PM, Diego Novillo <dnovillo@google.com> wrote:
>>> This patch is still WIP. It builds stage1, but I'm getting ICEs
>>> during stage 2.
>>>
>>> The patch splits tree.h into three files:
>>>
>>> - tree-core.h: All data structures, enums and typedefs from
>>> tree.h
>>>
>>> - tree-api.h: All extern function definitions from tree.h
>>>
>>> - tree-macros.h: All macro accessors, tree checks and other
>>> inline functions.
>>
>> I don't like this split. You focus in on the details and sort code by
>> detail. I think this is wrong.
> I mostly agree - tree-macros.h is a red herring. It should be tree-core.h and tree.h only.
I disagree. core isn't a concept that should be binned into. control flow, call graph, register, arm, alias, allocation, attribute, builtin, type, eval, jit, symbol, file, floating point, pass, block, stack, constant, hash, map, range, memory, debug, dump, elf, dwarf, operator, value, vector, declarations, int, statements, object, storage, expressions, frame, error, values, mapping, the list is endless. core is like a bin for important, functions that begin with a, functions I wrote, big functions, functions implemented with templates, trivial functions, hard to grasp concepts, simple things, things added in the last year, old things, fun things, extra things, useful thing, unsorted things, often used things, and so on… core goes in exactly the wrong long term direction.