Here's what my rough DCE can do: B3 after initial, before reduceStrength: BB#0: ; frequency = nan Int64 @0 = ArgumentReg(%rdi) Int64 @1 = Const64(0) Int64 @2 = Add(@0, @1) Int32 @3 = Load(@2, ControlDependent|Reads:Top) Int64 @4 = Const64(4) Int64 @5 = Add(@0, @4) Int32 @6 = Load(@5, ControlDependent|Reads:Top) Int32 @7 = Add(@3, @6) Void @8 = Return(@7, Terminal) B3 after reduceStrength, before lowerToAir: BB#0: ; frequency = nan Int64 @0 = ArgumentReg(%rdi) Int32 @3 = Load(@0, ControlDependent|Reads:Top) Int32 @6 = Load(@0, offset = 4, ControlDependent|Reads:Top) Int32 @7 = Add(@3, @6) Void @8 = Return(@7, Terminal)
Created attachment 264284 [details] the patch
Attachment 264284 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/B3ProcedureInlines.h:39: More than one command on the same line [whitespace/newline] [4] Total errors found: 1 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #2) > Attachment 264284 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/b3/B3ProcedureInlines.h:39: More than one > command on the same line [whitespace/newline] [4] > Total errors found: 1 in 7 files > > > If any of these errors are false positives, please file a bug against > check-webkit-style. Fixed.
Comment on attachment 264284 [details] the patch LGTM
Landed in http://trac.webkit.org/changeset/191718