Goose  History of bs/eir/compare.cpp of 0db147f1175506e2

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file bs/eir/compare.cpp at check-in 0db147f1175506e2

2024-09-15
20:24
Add clang format settings, reformat everything file: [81c2d4c9ba] check-in: [0db147f117] user: achavasse branch: cir-ssa-refactor, size: 1665
2022-07-30
11:41
varargs: simplify (not going to attempt handling nesting repetitions after all) file: [07d3c47652] check-in: [4c0f447d59] user: zlodo branch: trunk, size: 1568
2022-07-16
14:42
Varargs: added a "nested repetition depth" property to holes file: [c58a413c91] check-in: [97ff23912a] user: zlodo branch: trunk, size: 1610
2021-10-26
18:43
Type predicates: implemented helper functions to append / filter out type predicate hashes in identities. file: [9746946177] check-in: [d40e6470bf] user: zlodo branch: trunk, size: 1419
2021-09-26
12:00
  • Fixed TypeType's representation. Declaring a type, non-template parameter (for compile time functions) now works
  • Removed the trie comparison algorithm from eir that was never used
  • Misc code cleanup
file: [8abc6363dc] check-in: [21f907a13f] user: achavasse branch: trunk, size: 1263
2021-09-25
15:53
eir: implemented OrPattern term file: [3576dceef9] check-in: [6b3eee40c4] user: achavasse branch: trunk, size: 1732
2021-09-16
19:00
More work on the g0 EIR api file: [0c17516e61] check-in: [967d3ba3d7] user: achavasse branch: trunk, size: 1409
2021-02-12
23:57
Added a "flavor" term to holes to be able to have specific rules for TVar holes and for forwarding holes. Refactored forwarding holes to use this, instead of being represented as compound expressions (which would probably have broken down horribly in some complex type checking scenarios) file: [049c607c73] check-in: [176ee856a6] user: achavasse branch: trunk, size: 1417
2020-12-27
14:40
Renamed and modified bs/ir/compare.cpp → bs/eir/compare.cpp. Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. file: [ef53c112a3] check-in: [7d2def7b75] user: achavasse branch: trunk, size: 1110
2020-01-16
21:41
ir: also make void* always compare to true to make it easier to work with llvm type pointers embedded inside type IR expressions. file: [af747b2b1a] check-in: [6680e30102] user: achavasse branch: trunk, size: 1108
20:46
ir: comparing ptr< void > is considered always true, to allow to more easily attach opaque data onto ir expressions without changing their semantics. file: [4d025ba54d] check-in: [1a704c5a51] user: achavasse branch: trunk, size: 1024
2019-09-22
14:37
Project renaming. file: [728750287b] check-in: [af650a9e95] user: achavasse branch: trunk, size: 934
2019-08-11
01:26
  • ir: created a new type for LocationId which is handled in a specific way so that two LocationIds are always considered equal by pattern matching. This prevent the values' locationIds stored in ir expressions from fucking up everything.
  • propagate value locations in a few places: in the parser, when resolving invocations and when doing eager evaluation. There are probably a lot of other places still missing.
  • converted all the builtin statements to use the DiagnosticsManager.
file: [7dd0363d07] check-in: [2efa23555d] user: achavasse branch: trunk, size: 936
2019-08-09
19:54
Cleanup: got rid of the half-assed location and poisoning systems in ir::Terms. file: [1c6ce0a61f] check-in: [aee388d9c0] user: achavasse branch: trunk, size: 847
2019-08-03
23:38
Fixed the ct_int unification rule, which didn't work correctly against generic function parameters. file: [aa0e0ccd4a] check-in: [18e3bfa195] user: achavasse branch: trunk, size: 1653
19:29
Implemented the runtime bitwise xor operator. file: [762b1f760d] check-in: [1886f5f367] user: achavasse branch: trunk, size: 1654
2019-05-04
21:04
Cleanup: make use of c++20 explicit lambda template parameter lists to get rid of some clunky decltype(). file: [5c50d20345] check-in: [980e2740bc] user: achavasse branch: trunk, size: 1028
2019-04-12
19:37
  • cleaned up and refactored llr into a proper cfg representation.
  • added a CFG builder class in sema, currently very rudimentary.
  • split the parser's value building workflow from the llr construction workflow, which now goes through a CFG builder.
  • implemented the return statement.
file: [a960b3a08c] check-in: [5ea39472a2] user: achavasse branch: trunk, size: 1067
2019-04-08
22:15
Compare the addresses of pvoid once again in compare to match the behavior of pvoid stored in tries. That change wasn't actually needed anyway. file: [752bbfc902] check-in: [0a9cac94de] user: achavasse branch: trunk, size: 1070
2019-04-03
20:56
Higher order polymorphism: overloadset and tfunc invocation no longer consider multiple unification solutions with the same score to be ambiguous if they are actually the same solution. file: [91d5197f7a] check-in: [be53d55f67] user: achavasse branch: trunk, size: 1160
2018-11-11
20:11
  • Remove Or term, they just complicate term/term pattern matching because they can generate multiple solutions and aren't actually useful.
  • Implemented Match for term/term.
file: [d92b79f184] check-in: [afb316dee6] user: achavasse branch: trunk, size: 815
2018-11-04
10:59
ir: implemented term comparison operator. file: [a27d3a08ef] check-in: [b2eec29afd] user: achavasse branch: trunk, size: 925
2018-11-03
00:19
Added: ir: Implemented Compare. file: [db2cd67ffd] check-in: [adc06c3670] user: achavasse branch: trunk, size: 188