Giter Club home page Giter Club logo

Comments (5)

mewmew avatar mewmew commented on May 26, 2024

Based on time constraints the focus of the project has shifted to finishing up the artifacts (LLVM IR -> DOT ll2dot and the iso and merge tools which locates and merges subgraph isomorphism in DOT files) which for now uses the official Go binding for LLVM. Future work will continue to develop the pure Go library for interacting with LLVM IR.

The following comment describes this further.

Marked as future ambition. Developing a library for interacting with LLVM IR turned out to require huge efforts. This work is taking place in the llvm repository and will continue to do so. As the LLVM IR library was a prerequisite for the other parts of this project a decision was made to make use of the preexisting official Go binding for LLVM. Using this library the ll2dot tool was constructed to translate LLVM IR into control flow graphs described in the DOT format. Subsequent decompilation passes worked on the DOT representation of the Control Flow Graph and were therefore independent of the source intermediate representation (e.g. LLVM IR).

The intention is to take up work again and implement the pure Go implementation of LLVM IR as time permits. The immediate focus of the project is currently to finish the development of the artifact and shift focus to writing the report. As such the development of the LLVM IR library may remain stale until later this year.

from llvm.

mewmew avatar mewmew commented on May 26, 2024

This work is tracked by the llir/spec project, which aims to define a formal grammar for LLVM IR. As the grammar supports an ever larger subset of LLVM IR, the corresponding in-memory representations are added to this repository. Closing this issue for now, as the spec repository is better suited to track this work.

from llvm.

mewmew avatar mewmew commented on May 26, 2024

The llir/spec project has now been integrated with the llir/llvm project. As such, this issue is once again relevant for tracking this work.

Mental note, commit d299b42 removed visibility, linkage and calling conventions from the LLVM IR package. These may be included once more in future release.

from llvm.

mewmew avatar mewmew commented on May 26, 2024

ref: #16 (comment)

fast-math-flags

  • nnan
  • ninf
  • nsz
  • arcp
  • fast

from llvm.

mewmew avatar mewmew commented on May 26, 2024

This issue is mostly a duplicate of #15. Lets close this one to keep the discussion in one place.

from llvm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.