[llvm-commits] Speeding up instruction selection

Dan Gohman gohman at apple.com
Thu Mar 27 10:43:02 PDT 2008


On Mar 27, 2008, at 5:28 AM, Roman Levenstein wrote:
>
>
> I fixed it, by creating SmallVector objects from OperandList array at
> some places, e.g. in DAGCombiner.cpp and in X86ISelLowering.cpp.
>
> Now all the DejaGnu tests pass without problems, but I'm not sure if
> this fix with SmallVectors does not introduce any performance
> problems. It would be nice, if you could test it on the real
> test-suite, to see if the compilation speed is affected.

Cool! I like this approach. While the copies of the operand
lists themselves aren't ideal, there are ways to eliminate them
if they become a performance problem, for example by doing
what you did with AddNodeIDOperands.

> Because of these issues, I do not commit. Instead I attach the patch
> for review and  for testing, which is even more important, since the
> logic practically was not changed.

Ok, I'll give it a go.

Again, it would be good for you to do more testing yourself.
It's not necessary to run all of llvm-test all the time, but
being able to do some testing yourself would be a good thing.

Would it help if there were precompiled bitcode files for
the tests in llvm-test that could be downloaded? I wonder if
we could do that. I know quite a few people working on LLVM
but not llvm-gcc that this would probably help.

>>> Once that's done and we're comfortable it, we can look at taking
>>> the second step, which would be a mass-rename of SDOperand
>>> to SDValue.
>
> Should I do it?

We're not done with the first step yet :-).

Dan




More information about the llvm-commits mailing list