diff options
| author | Drahflow <drahflow@gmx.de> | 2015-06-11 17:26:54 +0200 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2015-06-11 17:26:54 +0200 |
| commit | d5522af2a968f5745feed83e60cc93f6bf65bdbc (patch) | |
| tree | e05b48f523cd167f9b11522b7168af5b32964980 /elymas | |
| parent | 21c4c6c58892bf2c6fc9211de2120980c11bf1f3 (diff) | |
Omit trace tests if useless
Diffstat (limited to 'elymas')
| -rw-r--r-- | elymas/lib/sys/opt.ey | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/elymas/lib/sys/opt.ey b/elymas/lib/sys/opt.ey index 35345b4..a2c7f71 100644 --- a/elymas/lib/sys/opt.ey +++ b/elymas/lib/sys/opt.ey @@ -2102,16 +2102,20 @@ } { action CONDITIONALTAIL eq }' { - [ - 1 /rax :movqImmReg - ] emitOpcodes - 1 entry emitOpcodes - [ - /rax /rax :testqRegReg - 2 entry len newFooter len add :jzRel32 - ] emitOpcodes - 2 entry emitOpcodes - newFooter emitOpcodes + 1 entry len { + [ + 1 /rax :movqImmReg + ] emitOpcodes + 1 entry emitOpcodes + [ + /rax /rax :testqRegReg + 2 entry len newFooter len add :jzRel32 + ] emitOpcodes + 2 entry emitOpcodes + newFooter emitOpcodes + } { + 2 entry emitOpcodes # test would always succeed, footer will follow immediately + } ? * } { 1 }' { |
