Bug 133753

Summary: Change the order of the alias analysis passes to align with the opt pipeline of LLVM
Product: WebKit Reporter: Juergen Ributzka <juergen>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: atrick, commit-queue
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Juergen Ributzka 2014-06-11 11:45:42 PDT
Change the order of the alias analysis passes to align with the opt pipeline of LLVM
Comment 1 Juergen Ributzka 2014-06-11 11:55:35 PDT
Created attachment 232880 [details]
Patch
Comment 2 Geoffrey Garen 2014-06-11 12:41:39 PDT
Comment on attachment 232880 [details]
Patch

Seems reasonable. Is this a speedup, or just a cleanup?
Comment 3 Juergen Ributzka 2014-06-11 12:45:27 PDT
I didn't check if there is a speedup, but I feel more comfortable using an order that is used and tested by the default LLVM opt pipeline.
Comment 4 Andrew Trick 2014-06-12 20:27:00 PDT
The AA implementations are queried in reverse order, last added, first queried.

For C++, we query BasicAA first for correctness. It may actually disagree with TBAA! If TBAA says objects can't alias, but they are obviously derived from the same pointer, then TBAA is wrong and we want to catch that.

For JS, that's not an issue and it makes sense to query TBAA first instead since it is probably faster.

However, if we can't measure any compile time difference, then I agree with Juergen, that it's a bit less risky to be consistent with the C++ optimizer.
Comment 5 WebKit Commit Bot 2014-06-16 12:28:18 PDT
Comment on attachment 232880 [details]
Patch

Clearing flags on attachment: 232880

Committed r170022: <http://trac.webkit.org/changeset/170022>
Comment 6 WebKit Commit Bot 2014-06-16 12:28:20 PDT
All reviewed patches have been landed.  Closing bug.