Development Build
Pre-release
Pre-release
Documentation
- Add license note. #440 (Henrich Lauko)
- Remove obsolete readme. #440 (Henrich Lauko)
- Add build description. #440 (Henrich Lauko)
- Add getting started section. #442 (Henrich Lauko)
- Remove obsolete dialect docs. #443 (Henrich Lauko)
- Add about section. #444 (Henrich Lauko)
- Remove auto generated files. #447 (Henrich Lauko)
- Rename about to README. #447 (Henrich Lauko)
- Clean up few pages. #447 (Henrich Lauko)
Tests
- Add baseline ABI classification tests. #371 (Lukas Korencik)
- Update
irs-to-llvm
tests to reflect switch in type converter. #371 (Lukas Korencik) - Test linking with clang produced object files. #371 (Lukas Korencik)
- Update vast-front invokes. #425 (Henrich Lauko)
- Check module name. #425 (Henrich Lauko)
- Fix FileCheck tool substitution. #427 (Henrich Lauko)
- Fix annotation attr syntax. #431 (Henrich Lauko)
- Add shothand to call vast-opt with high-level simplification passes. #431 (Henrich Lauko)
- Enable re-compilation tests with abi in pipeline. #432 (Lukas Korencik)
- Update hl structs to LLVM tests. #432 (Lukas Korencik)
- Add
%clang
tool substitution. #432 (Lukas Korencik) - Move
hlstructstollvm
tests intoirstollvm
. #436 (Lukas Korencik) - Add test for lowering of using a typedefed function argument. #438 (Robert Konicar)
- Merge
Transform/FromHL
intoTransform/HL
. #439 (Lukas Korencik) - Add test for lowering types of pointer arithmetic ops. #439 (Robert Konicar)
- Add metadata checks. #437 (Henrich Lauko)
- Turn off repl tests temporarily. #437 (Henrich Lauko)
Commits
- bb40f28: conv:tollvm: Emit ZExt in logical not only when necessary. (Robert Konicar) #420
- 140ada4: conv:tollvm: Fix chaining of logical operators. (Robert Konicar) #420
- 4ef7d6a: test:conv: Add test for chained binary logical operators. (Robert Konicar) #420
- 94debc1: conv:tollvm: Improve explaining comment in logical bin op rewriting. (Robert Konicar) #420
- 37f2b0f: conv:tollvm: Cleanup iterator manipulation. (Robert Konicar) #420
- Add predicate to check cmp op types. #419 (Robert Konicar)
- Fix FloatLikeType to accept typedefs. #419 (Robert Konicar)
- 913214c: test:hl: Add tests for float comparison. (Robert Konicar) #419
- Use field_types helper from hl utilities. #371 (Lukas Korencik)
- 95e1b1d: conv:abi: Implement simple lowering of direct op in prologues. (Lukas Korencik) #371
- Fix incorrect classification of aggregates in some cases. #371 (Lukas Korencik)
- Add to_string( half_class_result ) and fix a typo. #371 (Lukas Korencik)
- 3402553: conv:abi: Move code that handles aggregate [re,de]construction into header. (Lukas Korencik) #371
- 03e44cf: conv:abi: Fix incorrect emission of abi.direct for return value in callsite. (Lukas Korencik) #371
- aae2e10: conv:abi: Implement full conversion of
abi.direct
. (Lukas Korencik) #371 - Streamline builders of
ll::Extract
. #371 (Lukas Korencik) - Add
ll::Extract::[size, to, from]
helper methods. #371 (Lukas Korencik) - 1b0c186: conv:commmon: Use
FullLLVMTypeConverter
by default. (Lukas Korencik) #371 - a4d63a0: conv:abi: Add lvalue to function arguments when emitting
abi.func
. (Lukas Korencik) #371 traverse_record
now yields values stripped of lvalue type. #371 (Lukas Korencik)- 5ffa750: conv:irstollvm: Use
FullLLVMTypeConverter
. (Lukas Korencik) #371 - 549ff7c: hl:irstollvm: Add
mk_index
helper. (Lukas Korencik) #371 - 7359bef: conv:irstollvm: Add conversions of
ll:[Extract, Concat, StructGEPOp]
. (Lukas Korencik) #371 - fa1b29e: conv:irstollvm: Improve codestyle in lowering of
ll::UninitializedVar
. (Lukas Korencik) #371 - 9297d52: conv:irstollvm: Finish conversion pattern of
ll::InitializeVar
. (Lukas Korencik) #371 - 237af11: conv:abi: Implement all conversions needed to get a barebone example working. (Lukas Korencik) #371
- b9d5661: conv:abi: Update to use
core::GlobalLinkageType
. (Lukas Korencik) #371 - 4b1953a: conv:abi: Port to llvm-17. (Lukas Korencik) #371
- Rename
ABIfy
pass toEmitABI
. #371 (Lukas Korencik) - Improve assembly formats. #371 (Lukas Korencik)
- Improve codestyle of
DataLayout.hpp
. #371 (Lukas Korencik) - Move complex logic from
DefaultDataLayoutInterface.td
into.hpp
. #371 (Lukas Korencik) - Implement
DefaultDataLayoutInterface::getABIAlignment()
. #371 (Lukas Korencik) - Add abi alignment information to data layout. #371 (Lukas Korencik)
- Remove unused methods from data layout. #371 (Lukas Korencik)
- Add support for
-vast-pipeline
option. #371 (Lukas Korencik) - 061485e: target:llvmir: Add two pre-defined pass pipelines. (Lukas Korencik) #371
- Improve error message if lookup in data layout fails. #371 (Lukas Korencik)
- Fix classification sometimes emitting
i0
. #371 (Lukas Korencik) - Improve assert check and add its issue number. #371 (Lukas Korencik)
- 7edb6f4: conv:abi: Unify names and api of
field_allocator
,aggregate_deconstructor
. (Lukas Korencik) #371 - c244a46: conv:abi: Improve codestyle and add more comments. (Lukas Korencik) #371
- Add documentation to
traverse_record
utility. #371 (Lukas Korencik) - Add docs to
default_dl_query
. #371 (Lukas Korencik) - Improve codestyle of
DataLayout.hpp
. #371 (Lukas Korencik) - 07ee752: conv:abi: Add technical TODOs and comments. (Lukas Korencik) #371
- 4fc09bc: conv:irstollvm: Improve codestyle. (Lukas Korencik) #371
- d5020f5: conv:abi: Fix abi lowering changing linkage and symbol visibility of func. (Lukas Korencik) #371
- Add
ll
dialect as dependency ofLowerABI
pass. #371 (Lukas Korencik) - Add functions to build pipelines. #371 (Lukas Korencik)
- Add
build_simplify_hl_pipeline
function. #371 (Lukas Korencik) - 15d9e02: target:llvmir: Use pipelines instead of raw passes. (Lukas Korencik) #371
- Split right shifts into logical and arithmetic variants. #424 (Robert Konicar)
- Fixup binary arithmetic operation visitors. #424 (Robert Konicar)
- b567550: conv:tollvm: Update binary arithmetic operation lists. (Robert Konicar) #424
- 824f5de: test:hl: Update tests with right shift. (Robert Konicar) #424
- Remove non-existing options for float remainder operators. #424 (Robert Konicar)
- Add missing float variants in assign ops. #424 (Robert Konicar)
- 0d04249: test:hl: Add test for assign ops. (Robert Konicar) #424
- Introduce source language attr. #425 (Henrich Lauko)
- Emit language attribute for vast modules. #425 (Henrich Lauko)
- Fix duplicit global emition. #425 (Henrich Lauko)
- Emit function declarations. #425 (Henrich Lauko)
- Remove bogus type caching. #425 (Henrich Lauko)
- Simplify type conversion and delegate it to single visitor. #425 (Henrich Lauko)
- Allow thread local global generation. #425 (Henrich Lauko)
- Force emition of all declarations. #425 (Henrich Lauko)
- Refactor visitor instantiation to be more consistent with vast code style. #425 (Henrich Lauko)
- Deal with missing and implicit function returns. #425 (Henrich Lauko)
- Temporarily turn off source attr. #425 (Henrich Lauko)
- Simplify codegen naming. #425 (Henrich Lauko)
- Set correct module location and name. #425 (Henrich Lauko)
- Obliterate vast-cc translator remains. #425 (Henrich Lauko)
- Add option to emit locations. #425 (Henrich Lauko)
- Add typename required by older clang. #426 (Robert Konicar)
- c843a5e: test:hl: Fix typo. (Robert Konicar) #428
- Fix linkage type of function declarations. #428 (Robert Konicar)
- Fix triggering of an mlir assertion. #429 (Robert Konicar)
- 8334f7d: test:hl: Add test for empty scope inside an empty function. (Robert Konicar) #429
- Make meta generator dynamically virtual. #427 (Henrich Lauko)
- Remove obsolete class bases emition. #427 (Henrich Lauko)
- Remove redundant visitor base. #427 (Henrich Lauko)
- Clean up usage of mlir builder. #427 (Henrich Lauko)
- Fix leaking mlir context. #427 (Henrich Lauko)
- Refactor cc action includes. #427 (Henrich Lauko)
- Decouple action and consumer. #427 (Henrich Lauko)
- Refactor action options. #427 (Henrich Lauko)
- Clean up llvm ir emition. #427 (Henrich Lauko)
- Splice codegen generator into ast consumer. #427 (Henrich Lauko)
- Update usage of compiler options. #427 (Henrich Lauko)
- Add nonnull attribute. #431 (Henrich Lauko)
- Add const attribute. #431 (Henrich Lauko)
- Add alloc align attribute. #431 (Henrich Lauko)
- Add mode attribute. #431 (Henrich Lauko)
- Add pure attribute. #431 (Henrich Lauko)
- Add format attribute. #431 (Henrich Lauko)
- Add asm label attribute. #431 (Henrich Lauko)
- Make elaborated type to support MemRefElementTypeInterface. #431 (Henrich Lauko)
- Bump up to llvm-17. #433 (Henrich Lauko)
- Move type converter utilities to separate subdirectory. #432 (Lukas Korencik)
- Move type converters to
vast::conv::tc
namespace. #432 (Lukas Korencik) - Extract
hl
tostd
type converter toconv::tc
. #432 (Lukas Korencik) - 1e998ba: conv:tc:
HLToStd
now inherites from commontc
bases. (Lukas Korencik) #432 - 8ac7319: conv:tc: Add
get_context()
method tomixins
. (Lukas Korencik) #432 - d6f3dc8: conv:tc: Add helper to convert VAST produced data layout attribute. (Lukas Korencik) #432
- Add
DLEntry::operator==()
. #432 (Lukas Korencik) - Add more helper methods to
DataLayoutBlueprint
. #432 (Lukas Korencik) - Traverse data layout when querying subtypes. #432 (Lukas Korencik)
- 568e64c: hl:lowertypes: Remove obsolete code. (Lukas Korencik) #432
- baf2612: hl:lowertypes: Lower types in data layout attribute. (Lukas Korencik) #432
- 620cbdc: hl:lowertypedefs: Reflect changes in
conv::tc::mixins
. (Lukas Korencik) #432 - d0b09ee: hl:lowertypedefs: Lower types in data layout attribute. (Lukas Korencik) #432
- 737e1c6: conv:irstollvm: Only emit
ZExt
when bws are not matching forll::Concat
. (Lukas Korencik) #432 - 87cd8c1: conv:hlstructstollvm: Replace structure types in all operations. (Lukas Korencik) #432
- a1a4fb4: conv:tc: Add pattern that only changes type based on type converter. (Lukas Korencik) #432
- b68dac0: conv:tc: Add header that deals with data layout conversion. (Lukas Korencik) #432
- Make
DataLayoutEntry::create_raw_attr()
public. #432 (Lukas Korencik) - Fix name clash. #432 (Lukas Korencik)
- Include data layout conversion header. #432 (Lukas Korencik)
- 3b64bc2: test:obj: Enable part of abi test. (Lukas Korencik) #432
- e005022: conv:hlstructstollvm: Modernize and fix obvious issues. (Lukas Korencik) #432
- 0f50408: conv:tc: Extract conversion of some generic
hl
types into helper class. (Lukas Korencik) #432 - 7b40e32: conv:tc: Export inherited ctor in
base_type_converter
. (Lukas Korencik) #432 - Fix creation of conversion target happening twice. #432 (Lukas Korencik)
- Change api of
ModuleLLVMConversionMixin::create_conversion_target
. #432 (Lukas Korencik) - e8a9d7e: conv:irstollvm: Update legality rules to require LLVM types. (Lukas Korencik) #432
- 35de638: conv:irstollvm: Conversion of
ll_extract
no longer emits incorrect type. (Lukas Korencik) #432 - a1c7494: conv:tc: Format all files using project config. (Lukas Korencik) #432
- c0388fb: conv:hlstructstollvm: Format using project config. (Lukas Korencik) #432
- 8ee25ed: conv:irstollvm: Improve codestyle. (Lukas Korencik) #432
- Format
DataLayout.hpp
using project config. #432 (Lukas Korencik) - 97daaa5: conv:tc: Add link to issue number to one TODO. (Lukas Korencik) #432
- 94c4932: conv:tc: Add conversion of
hl::RecordType
toLLVM
. (Lukas Korencik) #436 - Obliterate
hlstructstollvm
conversion pass. #436 (Lukas Korencik) - 7fd9dd0: conv:irstollvm: Handle conversion of structures. (Lukas Korencik) #436
- d1bd33b: conv:irstollvm: Fix incorrect gep offset in
ll::InitializeVar
lowering. (Lukas Korencik) #436 - 70d2175: conv:irstollvm: Add pattern for
hl::TypeDeclOp
. (Lukas Korencik) #436 - Add missing includes. #438 (Robert Konicar)
- 7f3dd75: conv:tc: Add missing include. (Robert Konicar) #438
- eadd9f2: hl:lowertypedefs: Replace recursive replacer with the simple one. (Robert Konicar) #438
- Simplify readme in favour of gh-pages docs. #440 (Henrich Lauko)
- Fix gh-pages link. #441 (Henrich Lauko)
- 338366a: conv:tc: Replace redefinitions from parent class with using. (Robert Konicar) #439
- ae7c975: conv:tc: Add converter for paren type to HLToStd. (Robert Konicar) #439
- 9eade8e: hl:lowertypes: Obliterate obsolete code. (Lukas Korencik) #439
- 82fce7c: conv:tc: Update
core::FunctionType
conversion. (Lukas Korencik) #439 - caa7e78: conv:tc: Add helpers that use
tc
to define legality of op. (Lukas Korencik) #439 - f6a76e8: hl:lowertypes: Prune old code, use newer helpers that do type conversion. (Lukas Korencik) #439
- Fix pointer subtraction trait for standard types. #439 (Robert Konicar)
- Add trait to detect types from builtin dialect. #439 (Robert Konicar)
- Allow builtin dialect types in pointer arithmetic. #439 (Robert Konicar)
- 279eff4: hl:lowertypes: Conversion pattern now uses inherited ctor. (Lukas Korencik) #439
- a2772b8: conv:tc: Add default type converting pattern for
hl
conversions. (Lukas Korencik) #439 - b436560: hl:lowertypes: Use default type converting pattern for
hl
. (Lukas Korencik) #439 - 30416be: hl:lowertypedefs: Refactor to use shared type converter utilities. (Lukas Korencik) #439
- 24e6579: test:hl: Add additional type conversion tests. (Lukas Korencik) #439
- 4f25940: test:hl: Rename
ResolveTypedefs
toLowerTypedefs
. (Lukas Korencik) #439 - f214f65: conv:tc: Improve codestyle. (Lukas Korencik) #439
- Fix tablegen formatting. #439 (Robert Konicar)
- Setup deploy docs action step trigger. #446 (Henrich Lauko)
- Merge codegen base with codegen instance. #437 (Henrich Lauko)
- Remove context from template parameters. #437 (Henrich Lauko)
- Remote types from meta generator as it is not needed. #437 (Henrich Lauko)
- Make meta generator configurable in driver constructor. #437 (Henrich Lauko)
- Assign unknown location to type of type as clang does not provide it. #437 (Henrich Lauko)
- Make visitor a base of a codegen instance. #437 (Henrich Lauko)
- Simplify translation unit emition. #437 (Henrich Lauko)
- Allow to configure meta generator from command line. #437 (Henrich Lauko)
- Remove obsolete type conversions from the driver. #437 (Henrich Lauko)
- Emit every function. #437 (Henrich Lauko)
- Remove implicitly true check for function emition. #437 (Henrich Lauko)
- Temporarily turn off repl codegen. #437 (Henrich Lauko)
- Remove obsolete comments. #437 (Henrich Lauko)
- Add interface dependencies to dialects. #437 (Henrich Lauko)
- Make frontend consumer output independent. #437 (Henrich Lauko)
- Create module producing action. #437 (Henrich Lauko)
- Resurrect repl codegen. #437 (Henrich Lauko)
- Fix source buffer handling. #437 (Henrich Lauko)
- Bump up to llvm-17. #447 (Henrich Lauko)
- Add readme. #447 (Henrich Lauko)
- Add pages setup script. #447 (Henrich Lauko)
- Add pages assets. #447 (Henrich Lauko)
- Add mkdocs config. #447 (Henrich Lauko)
- Update docs deploy action. #447 (Henrich Lauko)
- Relax setup script check on root. #448 (Henrich Lauko)
- Allow
-vast-pipeline
when emitting mlir. #449 (Lukas Korencik) - 277105d: test:obj: Fix incorrect
%vast-front
invocation. (Lukas Korencik) #449 - 408c661: conv:abi: Include abi alignment when reconstructing aggregates. (Lukas Korencik) #449
- 37d99db: conv:irstollvm: Fix & simplify conversion of
ll::Extract
. (Lukas Korencik) #449 - 71fdbde: test:obj: Add test of nested structure with abi padding. (Lukas Korencik) #449
- 7642307: test:obj: Add test of abi lowered call inside vast object file. (Lukas Korencik) #449
- ba73242: conv:abi: Handle abi alignment when deconstructing aggregates. (Lukas Korencik) #449
- Add more utilities to traverse record values. #449 (Lukas Korencik)
- Add inline assembly operation. #452 (Robert Konicar)
- Add all args to InlineAsmOp. #452 (Robert Konicar)
- Add visitor for GCCAsmStmt. #452 (Robert Konicar)
- Move InlineAsmOp to HighLevelOps.td. #452 (Robert Konicar)
- Add custom builder for InlineAsmOp. #452 (Robert Konicar)
- Add type alias for small vector of mlir values. #452 (Robert Konicar)
- Add short-circuiting for simple asm statement. #452 (Robert Konicar)
- Add description to InlineAsmOp. #452 (Robert Konicar)
- Fix argument counting in inline assembly. #452 (Robert Konicar)
- Make StringLiteralAttr escape on printing rather than parsing. #452 (Robert Konicar)
- Fix StringLiteralAttr when it recieves invalid (empty) type. #452 (Robert Konicar)
- Fix InlineAsmOp assembly format so that it can be parsed. #452 (Robert Konicar)
- Use core::StringLiteralAttr for InlineAsmOp body. #452 (Robert Konicar)
- 4b7abaa: test:hl: Add test for simple asm. (Robert Konicar) #452
- a7d987d: test:hl: Add tests for more complicated asm statements. (Robert Konicar) #452
- 6d274bb: test:hl: Fix simple asm test for core strlit. (Robert Konicar) #452
- Use mcontext function from lens instead of local variable. #452 (Robert Konicar)
- Make lambda arguments in asm visitor const. #452 (Robert Konicar)
- Rename InlineAsmOp to just AsmOp. #452 (Robert Konicar)
- Add issue number to a missing qualifier in asm op. #452 (Robert Konicar)