SDUse

I just found a major bug in SelectionDAG. Well, I found it several weeks ago
and finally diagnosed it today.

One possible fix comes down to holding SDUses about to be processed in
a queue. But this would require the SDUse copy constructor to be public.

Why is it private and unimplemented right now? What's the assumption
that's trying to protect?

                                       -Dave

SDUse's Prev and Next members implement a use list. Copying them
probably wouldn't immediately break anything, but it wouldn't be
meaningful.

Dan

I understand that the copied SDUse wouldn't be represented in the list,
so I can understand the general reasons for making the copy constructor
private. In this case, however, it _may_ be ok. I need to analyze this a bit
more. If I can come up with a solution that doesn't require a copy
constructor I will of course use that.

I can't get a reduced testcase that breaks on trunk but I do have some
debug asserts that I'll try on trunk and see if I can get something to fail.
There's an iterator issue with ReplaceAllUsesOf.

                                             -Dave

I have seen some re-factoring work done to prepare for AVX support. What are the plans (time wise) to add the AVX patterns to the backend? Has anyone thought about FMA4?

- Jan

Oh yes. :slight_smile: FMA4 will have a different feature bit than AVX or FMA3. FMA4 is
our top priority after AVX due to Bulldozer.

What would you like to see for FMA4? I will be implementing that just as
soon as I push up some more AVX support.

The AVX work is ready to be pushed up and I am working on that.
Unfortunately, pesky things like software releases are getting in the
way. :slight_smile: I hope to get back to this next week.

                                             -Dave

What would you like to see for FMA4? I will be

implementing that just as soon as I push up some more AVX support.

Intrinsics to be able to test all the instructions would be great
to have of course.

The AVX work is ready to be pushed up and I am working on that.
Unfortunately, pesky things like software releases are getting in
theway. :slight_smile: I hope to get back to this next week.

Any update on this?