changeset | 6d6e5a3ec6b1 |
---|---|
branch | default |
bookmark | |
tag | tip |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | llvm_c_ext: Updated to use `llvm::DINode::DIFlags` rather than just `unsigned`. Added new constantpool `LLVMDIFLags` |
files | LLVMDIFlags.st LLVMVisibility.st Make.proto Make.spec abbrev.stc bc.mak jv_llvm_s.st libInit.cc llvm_c_ext/include/llvm-c-ext/DIBuilder.h llvm_c_ext/lib/DIBuilder.cpp |
changeset | 7a4c769a9fea |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | llvm_c_ext: Improved `LLVMSetMetadata2()` to support also function values ...in addition to instruction values. This is handy to attach data to functions, such as debugging information. Added Smalltalk API for setting metadata nodes on instructions and functions. |
files | LLVMExamples.st LLVMMetadataID.st LLVMValue.st Make.proto Make.spec abbrev.stc bc.mak jv_llvm_s.st libInit.cc llvm_c_ext/include/llvm-c-ext/CoreExt.h |
changeset | 67e1328d58c9 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | llvm_c_ext: Added `LLVMPrintMetadataToString()` ...and corresponding Smalltalk API. Useful for debugging. |
files | LLVMCEXT.st LLVMMetadata.st LLVMTypeFloat.st llvm_c_ext/include/llvm-c-ext/CoreExt.h llvm_c_ext/lib/CoreExt.cpp |
changeset | a1cd10a34b21 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | llvm_c_ext: Added LLVMSetProcessAllSections() ...as an C interface for llvm::ExecutionEngine::setProcessAllSections(). This may become handy when one wants to control allocation of sections not strictly required for execution. |
files | LLVMCEXT.st LLVMExamples.st LLVMExecutionEngine.st LLVMTypeX86_MMX.st Make.spec llvm_c_ext/include/llvm-c-ext/CoreExt.h llvm_c_ext/lib/CoreExt.cpp tests/Make.spec |
changeset | e338d022e81d |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | llvm_c_ext: LLVMGetMetadataKind refactored to use sequence of `if (isa<DIFile>(...)) return ...` rather than depending on value if `getMedatadataID()`. Values of individual constants in `llvm::Metadata::MetadataKind` are not stable and change over time (so does the `getMetadataID()` return value). This leads to funny problems. Therefore, define our own enum - `LLVMMetadataKind` with stable values and use sequence of ifs to translate between LLVM metadata class and `LLVMMetadataKind` enum value. |
files | LLVMMetadataKind.st llvm_c_ext/include/llvm-c-ext/CoreExt.h llvm_c_ext/lib/CoreExt.cpp |
changeset | 47bf2a306c14 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | Show metadata kind in LLVMMetadata print string ...i.e., DILocation@12345678 rather then generic LLVMMetadata@12345678 |
files | LLVMMetadata.st |
changeset | 466c492b0062 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | Oops, fixed examples after a rename #store:_: to #store:at: |
files | LLVMExamples.st |
changeset | 2c876bd46960 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | Added builder support for zext, sext and trunc IR instructions |
files | LLVMIRBuilder.st |
changeset | ab03b0a6d037 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | Implemented LLVMType>>sizeInBits/sizeInBytes for all data types ...i.e., also for structures, vectors and arrays. |
files | LLVMExamples.st LLVMTargetData.st LLVMType.st LLVMTypeDouble.st LLVMTypeFP128.st LLVMTypeFloat.st LLVMTypeHalt.st LLVMTypeInteger.st LLVMTypePPC_FP128.st LLVMTypePointer.st |
changeset | ced2a5c16e70 |
---|---|
branch | |
bookmark | |
tag | |
user | Jan Vrany <jan.vrany@fit.cvut.cz> |
description | Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics For those, use specialized IR builder routines rather than manually calling the intrinsic. The problem which the latter is that those instrinsics are overloaded and - for reason not yet known - retrieving them cause crash. So better strick to LLVM way of doing so - through IRBuilder. |
files | LLVMCEXT.st LLVMExamples.st LLVMIRBuilder.st LLVMObject.st LLVMTypeLabel.st bc.mak jv_llvm_sWINrc.rc llvm_c_ext/.cproject llvm_c_ext/include/llvm-c-ext/CoreExt.h llvm_c_ext/lib/CoreExt.cpp |