[llvm-commits] [llvm] r76615 - in /llvm/trunk: include/llvm/CodeGen/LiveIntervalAnalysis.h lib/CodeGen/LiveIntervalAnalysis.cpp
Chris Lattner
clattner at apple.com
Tue Jul 21 19:24:43 PDT 2009
On Jul 21, 2009, at 4:46 PM, David A. Greene wrote:
>>> + // IntervalPrefixPrinter - Print live interval indices before
>>> each
>>> + // instruction.
>>> + class IntervalPrefixPrinter : public PrefixPrinter {
>>
>> David, please talk about general infrastructure like this before just
>> applying it to mainline with no review.
>
> I thought the policy was "review after commit."
The intention of the policy is to streamline the normal case, but to
let people use their discretion about when something might need
additional review or discussion. Technically, almost everyone should
have their patches reviewed before applied. In practice, this would
slow things down a lot and waste a lot of time.
>> Remember that you have *commit after approval* access, with
>> exceptions
>
> Really?
>
> "If you have recently been granted commit access, these policies
> apply:"
>
> Is two years ago "recent?"
The wording there is written for people who are looking to get commit
access. It is not meant to imply that the rules expire over time.
>> for "obvious" patches. This is not obvious and you are not a
>> maintainer for these areas. Please read this for more information:
>> http://llvm.org/docs/DeveloperPolicy.html#commitaccess
>
...
>
> Ah, I misread this bit. Still, I was surprised to learn I'm only
> supposed
> to commit after getting everything reviewed.
> It's fine if this is the new policy, but having the goalposts moved
> gets
> frustrating.
I really don't mean to "move the goal posts" on you, and I hope you
know that I find your work and contributions to be extremely valuable.
> I will submit the revision for review before committing it.
These patches are a good candidate for prior review because the add
significant new functionality: new files, new APIs and change what
existing stuff is doing by generalizing things in major ways. I
reverted the patch instead of letting it go in and discussing it
afterward because:
1) it is actively doing things that you know we don't like (e.g. using
streams), making use of heavy weight classes like std::string, etc.
2) conflates a bunch of unrelated changes together: e.g. the
'constifying' of Mi2IndexMap could be a separate and independent patch
which would be "obvious".
3) Is a vastly over-general solution to a very simple and specific
problem.
In addition, your last major patch (formatted ostream) required
significant iteration because it was vastly over general, had several
other major problems that were solved through review, and caused
massive performance issues. I haven't had a chance to review r76601
yet, but I'm hoping that this resolves the remaining issues.
I was slightly over-generous when handling your recent tblgen patch.
It got reverted due to correctness changes, but when Evan reported the
obvious and measured perf problems, we technically should have
reverted it again. I didn't appreciate it when you reapplied the
patch (with correctness fixes) even though there were large
outstanding performance issues. It seems that it would be more
natural to fix all the problems found by review and the testers, then
re-apply it.
In the end, I think this patch will be end up different enough that it
should be discussed before it goes in. Specifically for this patch,
please remove all the generic "prefix handling" stuff and just make a
change localized to LiveIntervalAnalysis routine. The double-nested
for-loop is not that much code to duplicate.
> I have a *lot* of stuff I'm planning to send. To me, some of it will
> obviously need prior review. This wasn't one of those cases.
Again, I want reemphasize that I value your work and your
contributions. I really am not trying to drive you away. In order
for the open source project to make progress, we have to balance speed
of development with impact on the various developers. For changes
that add major new APIs, classes, and concepts, please discuss it
ahead of time. Trying to short-circuit the process won't make things
go faster in the end.
>> Please revert r76602+ and propose them to llvm-commits.
>
> I see someone already did. Would've been nice to get an e-mail
> about it.
I assumed that you read commits, so you'd see it.
-Chris
More information about the llvm-commits
mailing list