Jonas Jensen
b75bf06649
C++: Accept test changes in other IR tests
2019-09-24 13:00:21 +02:00
Jonas Jensen
4ef5c9af62
C++: Autoformat everything
...
Some files that will change in #1736 have been spared.
./build -j4 target/jars/qlformat
find ql/cpp/ql -name "*.ql" -print0 | xargs -0 target/jars/qlformat --input
find ql/cpp/ql -name "*.qll" -print0 | xargs -0 target/jars/qlformat --input
(cd ql && git checkout 'cpp/ql/src/semmle/code/cpp/ir/implementation/**/*SSA*.qll')
buildutils-internal/scripts/pr-checks/sync-identical-files.py --latest
2019-09-09 11:25:53 +02:00
Dave Bartolomeo
ad966e4bd4
C++: Accept test diffs after imprecise use format change
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
eed0894029
C++: Add operand labels for more operand tags
...
I kept forgetting which operand on a Chi instruction was which, so I added dump labels. I added labels for the function target of a `Call`, for positional arguments, and for address operands as well.
2019-05-02 11:18:08 -07:00
Robert Marsh
e7ca6c8bd9
C++: test for value number string pooling
2019-04-19 10:50:52 -07:00
Dave Bartolomeo
d8bf3ffe1b
C++: Update test expectations
2019-02-13 14:19:57 -08:00
Dave Bartolomeo
5d71d06dbc
C++: Fix test expectation
2019-02-07 14:26:00 -08:00
Jonas Jensen
b55573ebe3
C++: Accept test changes in ir_gvn.expected
2019-01-31 10:08:16 +01:00
Robert Marsh
c455db9e59
C++: update test expectations
2019-01-10 11:24:13 -08:00
Aditya Sharad
ce8ca5979b
Merge rc/1.19 into next.
2018-12-13 12:23:59 +00:00
Aditya Sharad
3caf4e52a7
Merge rc/1.19 into next.
2018-12-04 12:39:41 +00:00
Nick Rolfe
a637eb651f
C++: fix expected test output for improved extraction of agg. inits.
2018-12-03 16:45:53 +00:00
Dave Bartolomeo
7eb47f3f82
C++: A few more IR dataflow tweaks
...
Made `Node::getType()`, `Node::asParameter()`, and `Node::asUninitialized()` operate directly on the IR. This actually fixed several diffs compared to the AST dataflow, because `getType()` wasn't holding for nodes that weren't `Exprs`.
Made `Uninitialized` a `VariableInstruction`. This makes it consistent with `InitializeParameter`.
2018-11-30 16:53:45 -08:00
Dave Bartolomeo
40864f9ebb
C++: Fix GVN test expectation
2018-11-28 14:07:23 -08:00
Dave Bartolomeo
90b79eb5f3
C++: Accept GVN test expectations with Chi nodes
2018-11-27 12:56:23 -08:00
Aditya Sharad
4ff79b046d
C++: Update HashCons test output.
2018-09-26 17:56:21 +01:00
Dave Bartolomeo
aa267c8302
C++: Force LF for .c,.cpp,.h,.hpp
2018-09-23 16:23:52 -07:00
Robert Marsh
69962bd06c
Merge pull request #203 from dave-bartolomeo/dave/GVN
...
C++: Initial attempt at IR-based value numbering
2018-09-20 10:00:45 -07:00
Dave Bartolomeo
5a25602c28
C++: Move GVN out of "internal" directory
2018-09-20 08:21:15 -07:00
Dave Bartolomeo
27cee9bd80
C++: Handle inheritance conversions in IR GVN
2018-09-20 08:00:38 -07:00
Dave Bartolomeo
43f0289f0f
C++: Remove Phi instructions from previous IR generations
...
It turns out that when building aliased SSA IR, we were still keeping around the Phi instructions from unaliased SSA IR. These leftover instructions didn't show up in dumps because they were not assigned to a block. However, when dumping additional instruction properties, they would show up as a top-level node in the dump, without a label.
2018-09-18 11:28:09 -07:00
Dave Bartolomeo
46b2c19c66
C++: Initial attempt at IR-based value numbering
2018-09-17 17:19:05 -07:00
Robert Marsh
cb9f1269f9
C++: select example exprs for HashCons portably
...
This makes two changes to how example exprs are selected. Example exprs
are now ordered separately by each piece of the location, rather than by
stringifying their location. Second, UnknownLocations are now ordered
after locations with absolute paths, by using "~" in the lexicographic
comparison of absolute paths. I think this works on both POSIX and
Windows systems, but it's possible I'm missing a way to start an
absolute path with a unicode character.
2018-09-10 12:22:45 -07:00
Robert Marsh
166dba288b
C++: accept test output
2018-09-10 12:22:45 -07:00
Robert Marsh
c42ecfe8f9
C++: Simplify HashCons for new and handle extents
2018-09-10 12:22:44 -07:00
Robert Marsh
06a3e8fc76
C++: Hashcons for ?:, ExprCall, and weird stuff
2018-09-10 12:22:44 -07:00
Robert Marsh
cfeed30a89
C++: Hashcons tests for ArrayExpr
2018-09-10 12:22:44 -07:00
Robert Marsh
8189798f43
C++: HashCons for throw
2018-09-10 12:22:43 -07:00
Robert Marsh
85cfb0202f
C++: add HashCons for delete expressions
2018-09-10 12:22:43 -07:00
Robert Marsh
752f39b537
C++: initial support for aggregate initializers
2018-09-10 12:22:43 -07:00
Robert Marsh
8f446aa9cc
C++: fix handling of aligned allocators
2018-09-10 12:22:43 -07:00
Robert Marsh
5549b6fcab
C++: HashCons for new, new[], sizeof, alignof
2018-09-10 12:22:43 -07:00
Robert Marsh
fede8d63d4
C++: respond to PR comments
2018-09-10 12:22:43 -07:00
Robert Marsh
e6314c5f35
C++: add support for enums in HashCons
2018-09-10 12:22:43 -07:00
Robert Marsh
91da02bacf
C++: uniqueness fixes for HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
3a5eb03055
C++: change floating point value in test
2018-09-10 12:22:42 -07:00
Robert Marsh
77c5a8e7bf
C++: support impure binary operations in HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
b8bd285d64
C++: support functions in HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
a8895f4bed
C++: Support crement ops in HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
cf222c51ac
C++: treat constant-valued exprs structurally
2018-09-10 12:22:42 -07:00
Robert Marsh
d8dc75abf4
C++: rename HashCons test
2018-09-10 12:22:41 -07:00
Robert Marsh
8b8ec7c5aa
C++: add literal tests
2018-09-10 12:22:41 -07:00
Robert Marsh
3c6a9c08a2
C++: first tests for HashCons
2018-09-10 12:22:41 -07:00
Pavel Avgustinov
b55526aa58
QL code and tests for C#/C++/JavaScript.
2018-08-02 17:53:23 +01:00