[LLVMdev] Question about changes to llvm::Argument::addAttr(AttributeSet AS) API

Bill Wendling wendling at apple.com
Thu Feb 7 14:46:33 PST 2013


On Feb 7, 2013, at 2:25 PM, Bill Wendling <wendling at apple.com> wrote:

> On Feb 7, 2013, at 12:14 AM, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote:
> 
>> The comment on other VCSs seems irrelevant, but if you are making such invasive changes that they must be done in multiple passes then either a feature branch and a merge or a local git clone seem the correct ways of doing them.  Dumping 3000 lines of changes in the tree in one go is preferable to leaving the tree in flux for a week.
> 
> Really? I got yelled at by Chris the last time I put several changes in the tree within a short amount of time. It also obviates the use of the buildbots to do something like that.
> 
Oh, and the tree wasn't "in flux" in the manner you suggest. It was stable after each commit. Everything that was temporary was mentioned as such in the log messages and/or with FIXMEs. At any point in time, you or anyone else could have asked me what was up (even though I wrote that there would be sweeping changes well before they happened), and I would have gladly told you what was stable, what you had to change to make your code work, if you should wait, etc. Only two people did: the Mips and sanitizer people (and I suggested that they waited, or gave them workarounds which they could use in the meantime). I also fixed those projects I could (e.g. dragonegg). No one else made a sound while I did this.  All of the rest I assumed didn't have problems or knew how to fix them by looking at the patches I submitted or would at the very least write to me and ask me how to fix their code. Again, no one (including you) ever did this.

The only thing that *might* have been missing was a write-up of exactly what the classes would eventually look like. However, that wouldn't have helped you during the transition. Now that the transition is over, you can now use the classes as you will. There may be small changes to them, but they won't be the same sweeping changes you are complaining about here.

I worked *very* hard to make things as stable as possible as quickly as possible. I didn't do anything "piecemeal" or "randomly". What happened happened because I needed things to be as stable as possible while I was changing something fundamental to LLVM.

And no, I will never "dump" 3000 lines of patches into the tree unless they were all purely mechanical in nature. I will prefer an incremental approach to that every time. If I did use git or whatever other vcs, I would have submitted the patches gradually, thus achieving the same result of modifying the tree gradually and it being "in flux" for a week.

-bw




More information about the llvm-dev mailing list