- User Since
- Jan 16 2018, 6:47 AM (18 w, 3 d)
With the exception of the two inline comments, this looks good to me now!
Wed, May 23
Also, this patch and all of the following 'Validation Test' patches do much more than just add tests, they add plenty of functionality as well. In general, it's quite difficult to tell which patches add what.
I cannot say that I'm pleased with the CodeGen emission of the operations as pure IR. I can only assume that you do not have hardware specifically tailored for these operations, as matching this type of code ought to be quite difficult after optimization is performed.
You should not define the fixed-point precision as compiler macros at build configure time. The number of fractional bits (the scaling factor) should be added to TargetInfo as target-configurable variables/accessors, and an accessor should be added to ASTContext (we call it 'getFixedPointScale') to fetch the scaling factor of arbitrary fixed-point types.
Mon, May 21
Made ArrayIndexTy into ssize_t, consolidated the tests and fixed the test that was failing.
Wed, May 16
Apr 24 2018
Thank you! I do not have commit rights, so if someone could commit this that would be great.
Removed local variable and added some more to the test.
Apr 20 2018
Jan 31 2018
Rebased. Another test case was affected, but as far as I can tell, the only difference is the elimination of two bitcasts.
Jan 30 2018
I replaced the other two instances of Ty with nullptr, and only observed a difference in one AMDGPU test case (preserve-addrspace-assert.ll), likely caused by the change on line 5022. Before, GEPs for double* and i32* were produced, but with the patch, GEPs for the containing struct are produced instead. This is probably because the expander was being forced to emit the pre-offset expressions as the final types (which were double* and i32*) but with the patch it will emit GEPs that take the struct pointer instead.
Jan 29 2018
Jan 22 2018
Included the complete context. Sorry for missing that!