- User Since
- Jul 21 2015, 5:19 PM (151 w, 6 d)
Sat, Jun 16
Fri, Jun 15
Wed, Jun 13
- Fixed comments
@hfinkel is my response resonable?
Mon, Jun 11
- Fixed templates
Sat, Jun 2
s/loop unrolling/loop peeling/
I will had to take a look at this at some time, but from what I've heard the state of loop peeling in LLVM is not very sofisticated, and implementing the logic that I propose might be a little hard.
Tue, May 29
Mon, May 28
Sun, May 27
Fixed missing vtable commponents
one more test
Added launder when going from possiblyNotDynamic to possiblyDynamic emitting strip for pointer -> int only if poitner is possiblyDynamic
Can someone with experience in Loop passes take a look at this?
Fri, May 25
OK, so it seems that at least the tests in the second patch passes without this patch, so I am fine with committing it without this one for one (also Philip if you could take a look at that patch I would be grateful)
I am worried about cases, where the first instruction does not throw, but it we can't hoist it (e.g. it depends on the loop phi) and after that, there is an instruction that can be hoisted.
Wed, May 23
Slitted commit into defining and using intrinsic
I only recall the emitting available_externally vtables opportunistically, that is emitting it only if all the inline virtual functions are present (and they are not hidden).
Tue, May 22
- Add more comments
@rjmccall do you have any thoughts on the best way to solve it?
May 19 2018
- small refactor
introduced mayBeDynamicClass and added more tests
Fixed flag passing
remove empty line
Add release note
- small fixes in tests
- Add deleted tests
- use getArgumentAliasingToReturnedPointer as it does not change behavior
- Fixed nit
May 18 2018
Refactored code to getArgumentAliasingToReturnedPointer and added few comments.
Please check out isKnownNonZero, as I think it could also use getArgumentAliasingToReturnedPointer.
Yes, I pretty much checked every place that uses CaptureTracking and looked for special handling of calls or uses of getUnerlyingObject.
Added very small repro for the bug :)
I measured build time of llvm& clang with devirtualization and either the variance is too big, or the compiler without this patch is faster.
As I found out, after writing other bugfix for AA, clang does not bootstrap correctly without this patch so I would love to push it.
If you don't have any objections, I would like to push it. I will still have to do build time measurements with and without devirtualization, but I would like to do it when everything is ready.
(Note that this code will not be executed unless you use devirtualization)
May 16 2018
May 15 2018
I went throught it and it looks good to me, I didn't expect that fixing CaptureTracking can lead Alias Analisis to return NoAlias instead of MustAlias. It would be nice if the code would check for such assumptions, but I have no ideas how it could be implemented.
May 10 2018
I think you also need to change GettingStarted doc
May 5 2018
- fix typos
Added reverse map