summaryrefslogtreecommitdiff
path: root/test/474-checker-boolean-input/src/Main.java
AgeCommit message (Collapse)Author
2016-01-28ART: Implement HSelectDavid Brazdil
This patch adds a new HIR instruction to Optimizing. HSelect returns one of two inputs based on the outcome of a condition. This is only initial implementation which: - defines the new instruction, - repurposes BooleanSimplifier to emit it, - extends InstructionSimplifier to statically resolve it, - updates existing code and tests accordingly. Code generators currently emit fallback if/then/else code and will be updated in follow-up CLs to use platform-specific conditional moves when possible. Change-Id: Ib61b17146487ebe6b55350c2b589f0b971dcaaee
2015-07-27Cosmetic changes in ART run-tests.Roland Levillain
Perform a copyright headers clean up mostly. Change-Id: I26c855b2f54d0887676d9b9b8281b14b7978ab29
2015-05-28ART: Distinguish Checker lines from commentsDavid Brazdil
In order to prevent tests passing due to lines with hard-to-spot formatting errors begin ignored, e.g. by forgetting the colon after "//CHECK", Checker will now require its assertions to start with "///" or "##", respectivelly for Java and Smali. Such lines will never be ignored and will fail the test unless successfully parsed. Change-Id: I0da9a8f13eb96d950af8c85df17d1899a853a299
2015-05-15ART: Print C1vis lists as [v1,...,vN]David Brazdil
Checker interprets whitespace as a don't-care placeholder, making it easier to write assertions which test only parts of the output (e.g. "//CHECK: Add liveness:44" does not test the inputs or any other attributes apart from "liveness"). However, since the GraphVisualizer prints lists with elements separated by spaces ("[ v1 ... vN ]"), this allows for false positives caused by an occurrence elsewhere in the output. For example, the assertion: "//CHECK: [ x y ]" will match "[ x y ]" but also "[ x a y b ]" or even "[ x ] abc [ y ]". Switching to comma-separated lists works around this issue. This patch updates all test files, fixes one false positive that this change revealed (test 442, line 337) and two occurrences of a wrong match (test 462, lines 121, 149). Bug: 21189305 Change-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721
2015-05-15ART: Change Checker syntax for variablesDavid Brazdil
This patch changes the syntax for defining and referencing variables from square brackets '[[VAR]]' to angle brackets '<<VAR>>'. This is done in order to avoid clashes when matching against lists enclosed in square brackets. Change-Id: Ib9560b07bdc7bd641fd1eb6143c0063e0783f1eb
2015-04-23ART: Run BooleanSimplifier after inliningDavid Brazdil
Inlined methods are currently not simplified. Change-Id: I075130c9df55e2f55032a2c81b08d42cb2cc01f6
2015-04-20ART: Extend list of instructions accepted as boolean inputsDavid Brazdil
Previous change allowed integer Phis as inputs of instructions expecting a boolean type. This list, however, was not exhaustive as binary operations And, Or and Xor are also valid inputs. This patch extends the list in SSAChecker. Change-Id: I5b5c9e7a17992cc4987e3a078ee23ea80028ecfc
2015-04-16ART: Remove DCHECKs for boolean typeDavid Brazdil
Since bool and int are interchangeable types, checking whether an input is kPrimBoolean can fail when replaced with 0/1 constant or a phi. This patch removes the problematic DCHECKs, adds a best-effort verification into SSAChecker but leaves the phi case empty until a suitable analysis is implemented. Change-Id: I31e8daf27dd33d2fd74049b82bed1cb7c240c8c6