Giter Club home page Giter Club logo

jit-test's Introduction

jit-test

My LLVM version is 18.0.0git. Here are my source code and the corresponding IR input file. The code is executable under the path llvm/examples/OrcV2Examples.

I used the commands clang++ -S -emit-llvm tls.cpp -o tls-cpp.ll and clang -S -emit-llvm tls.c -o tls-c.ll to compile the source code into LLVM IR form. However, to explore LLVM's handling of the private thread_local(initialexec) type, I will modify the type of the threadLocalVar variable to private thread_local(initialexec). This operation can be accomplished through both static compilation and ORC JIT compilation.

I've noticed that if I debug at the LowerToTLSEmulatedModel()(https://github.com/llvm/llvm-project/blob/fc715e4cd942612a091097339841733757b53824/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp#L9849) breakpoint, the IR file compiled from C++ triggers this breakpoint during J->initialize(J->getMainJITDylib()). However, for the IR file compiled from C, it triggers this breakpoint during auto AddrOfMain = ExitOnErr(J->lookup('main')).

In the 'SBT' folder, there are my source code, input IR files, and error messages.From the error messages, it seems to be related to TLS variables, so I plan to use my own written example to study the ORCJIT's handling process of TLS variables.

jit-test's People

Contributors

thrrreeee avatar

Watchers

 avatar

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.