All notable changes to the Koopa will be documented in this file.
- Some typos in the documentation.
- Issue #3: A naming issue in Koopa to LLVM IR generator.
- Added all subprojects in the
examples
directory as Cargo examples.
- Fault about generating allocations from raw programs in
libkoopa
. - Some deprecated and non-recommended uses in the source code.
- Fault about duplicate parameter names.
- Fault about local symbol redefinition.
- Library crate
libkoopa
for C/C++ programs that require the Koopa IR framework.
- Supported setting maximum variable name length in
NameManager
.
- Fault about creating/initializing
Parser
when error occurrs inLexer
.
Brand new design with a lot of changes!
- Replaced
phi
function with basic block parameters. - Using
DataFlowGraph
andLayout
to manage values and basic blocks. opt
,front
,back
modules and all examples were updated.
- More re-imports.
- Example
opt
,brainfuck
andinterpreter
. - Method
Value::uses
and iterator ofUse
. - Method
Type::size
. - Method
Generator::new_with_visitor
for visitors that has internal state. ValueCursorMut
for instruction list in basic blocks.
- Replaced all
debug_assert
s withassert
s. - Removed all unary operations.
- Signature of method
Driver::from_path
andGenerator::from_path
. - Signature of method
Value::replace_all_uses_with
.
- Fault about generating branch instructions into LLVM IR.
- Fault about creating file in
Generator::from_path
. - Fault about generating Koopa IR and LLVM IR.
- Infinite loop problem in
Builder::generate_local_symbol
. - Fault about updating
BasicBlockInner::preds
.