- User Since
- Jul 30 2013, 7:58 PM (199 w, 1 d)
Update Hexagon and WebAssembly targets too
I missed them because I grepped for setOperationAction(ISD::FPOWI
@reames where you able to take a look at this?
Is there enough functional here that there should be tests for? i.e. make sure march/mcpu switches are recognized, that the target is recognized, etc.
Add tests and support for ctpop
Mon, May 22
Sun, May 21
Forgot to click accept earlier
Fri, May 19
Add tests. Remove braces.
Thu, May 18
Wed, May 17
Forgot to mention, we should look into merging divide and tcDivide in the future.
Maybe we should switch to a DebugCounter?
Tue, May 16
Change test case to be the output after InstCombine.
I couldn't come up with a bool variable name that I liked so I just taught BasicAA not to call isKnownNonEqual if one of the inputs is a PHI. Instead we'll just compute the known bits separately. I think we should add a helper method to KnownBits to check if two KnownBits structs are known non equal which would simplify the intersection check.
This was based on reviewing the output of callgrind on one file and seeing what places create a lot of wider than 64-bit APInts. I can try to collect a larger data set of real numbers.
Mon, May 15
I believe that the test test/MC/X86/x86-64-avx512vpopcntdq.s covers the required tests.
If you think additional tests are required i will appreciate an example.
I don't think the MC tests actually use the disassembler code to try and get back to the instruction - @craig.topper can you confirm?
Do we have a generic ctpop test like we do for tzcnt and lzcnt? If so should we just add command lines to that instead of a new intrinsic test?
Add a new subsetIntersectWith method that doesn't rely on inverting and calling unionWith.
Sun, May 14
Can you add vpopcnt command lines to test/CodeGen/X86/vector-tzcnt-*.ll as well. I believe we create ctpop nodes as part of cttz lowering that are currently expanding to a lookup table implementation.
Looks like gcc already implements this https://firstname.lastname@example.org/msg156421.html
Sat, May 13
Fri, May 12
Yeah I think we should. That failure only showed up when I was rebasing. Is that something I should look into?
I think this looks ok to me. @RKSimon what do you think?
Thu, May 11
Rename to reallocate. Clarify comments.
Committed in r302717, but forgot to include the Differential Revision line
Wed, May 10
Correction, the combine-and problem seems to be because SimplifyDemandedBits only considers scalar constants for shift amount, not constant splats from a build_vector.
Rebase for recent changes.
Tue, May 9
The target independent lowering code emits this for CTLZ when its not supported. I think the popcount expands to this http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel if its not supported. So there shouldn't be a libcall unless the target is changing the default behavior.
Can we try not to define so many of the methods inside the class itself? It makes for a very large class and an extra indentation level. I'm thinking if you do that most of the static methods in the class can just be static methods at file scope.
Mon, May 8
Sorry to dredge this back up. But isn't that only ensuring the lower bound is positive? It doesn't guarantee anything about the upper bound. So I think we are returning full set for [-2, -2] * [0, 1] through the unsigned code and not even checking the signed range.
Add negative tests
Sorry I missed this patch, but shouldn't we had LWP to the relevant processors in test/Preprocessor/predefined-arch-macros.c and the command line switch testing to test/Preprocessor/x86_target_features.c
Sun, May 7
Sat, May 6
Fri, May 5
Merge setAllZero and forceAllZero. Same for AllOnes.
Thu, May 4
Doesn't isIntegerTy omit vector of integers which would be valid for cmp type?
I've removed the method that sets all bits in both zero and one for now. I think that should be done in a future patch that adds intersecting support since setting all vectors always proceeds an intersection loop. Maybe the method should just be prepareForIntersection or something that stresses that its only useful for that.
It looksl ike UseInitArray is connected to -use-ctors command line option to llc so we should be able to test this without a frontend test.
Should we add a test to test/CodeGen/X86/constructor.ll that test appears to have been modified when NAcl was added to the line you changed.
Wed, May 3
should we also lift the one use check for compares in IsFreeToInvert?