René's URL Explorer Experiment


Title: GitHub - makeroftools/llvm-tutor: A collection of out-of-tree LLVM passes for teaching and learning

Open Graph Title: GitHub - makeroftools/llvm-tutor: A collection of out-of-tree LLVM passes for teaching and learning

X Title: GitHub - makeroftools/llvm-tutor: A collection of out-of-tree LLVM passes for teaching and learning

Description: A collection of out-of-tree LLVM passes for teaching and learning - makeroftools/llvm-tutor

Open Graph Description: A collection of out-of-tree LLVM passes for teaching and learning - makeroftools/llvm-tutor

X Description: A collection of out-of-tree LLVM passes for teaching and learning - makeroftools/llvm-tutor

Opengraph URL: https://github.com/makeroftools/llvm-tutor

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:b20da1b0-2325-88c7-03e8-97191065d63b
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-id8498:938B4:1B72F30:234E994:697FBB0E
html-safe-nonce779cbff82808cf59e0fca220ecc960bea6a22a973fb7d68944f47bc082f706e9
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NDk4OjkzOEI0OjFCNzJGMzA6MjM0RTk5NDo2OTdGQkIwRSIsInZpc2l0b3JfaWQiOiI0NTkwMjU4NDExMTc3NzUzMzU4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac7d8dd40d18ff0fb937771e37f6f997f6812cf8c05fa49104e2d47cda9e7c5f5a
hovercard-subject-tagrepository:293498985
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/makeroftools/llvm-tutor
twitter:imagehttps://opengraph.githubassets.com/b4de7c2ff5f7d800fd95b27d6a5e4d68004c5da1a8f271cfd5580fd3d3cd6300/makeroftools/llvm-tutor
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b4de7c2ff5f7d800fd95b27d6a5e4d68004c5da1a8f271cfd5580fd3d3cd6300/makeroftools/llvm-tutor
og:image:altA collection of out-of-tree LLVM passes for teaching and learning - makeroftools/llvm-tutor
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None60279d4097367e16897439d16d6bbe4180663db828c666eeed2656988ffe59f6
turbo-cache-controlno-preview
go-importgithub.com/makeroftools/llvm-tutor git https://github.com/makeroftools/llvm-tutor.git
octolytics-dimension-user_id67485945
octolytics-dimension-user_loginmakeroftools
octolytics-dimension-repository_id293498985
octolytics-dimension-repository_nwomakeroftools/llvm-tutor
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id177661574
octolytics-dimension-repository_parent_nwobanach-space/llvm-tutor
octolytics-dimension-repository_network_root_id177661574
octolytics-dimension-repository_network_root_nwobanach-space/llvm-tutor
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7c85641c598ad130c74f7bcc27f58575cac69551
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmakeroftools%2Fllvm-tutor
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmakeroftools%2Fllvm-tutor
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=makeroftools%2Fllvm-tutor
Reloadhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
Reloadhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
Reloadhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
makeroftools https://patch-diff.githubusercontent.com/makeroftools
llvm-tutorhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
banach-space/llvm-tutorhttps://patch-diff.githubusercontent.com/banach-space/llvm-tutor
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fmakeroftools%2Fllvm-tutor
Fork 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fmakeroftools%2Fllvm-tutor
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fmakeroftools%2Fllvm-tutor
MIT license https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/LICENSE
0 stars https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/stargazers
436 forks https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/forks
Branches https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/branches
Tags https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tags
Activity https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Fmakeroftools%2Fllvm-tutor
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fmakeroftools%2Fllvm-tutor
Code https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
Pull requests 0 https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/pulls
Actions https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/actions
Projects 0 https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/projects
Security 0 https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/security
Insights https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/pulse
Code https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
Pull requests https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/pulls
Actions https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/actions
Projects https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/projects
Security https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/security
Insights https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/pulse
Brancheshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/branches
Tagshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tags
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/branches
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tags
139 Commitshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/commits/master/
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/commits/master/
.github/workflowshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/.github/workflows
.github/workflowshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/.github/workflows
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/HelloWorld
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/HelloWorld
includehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/include
includehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/include
inputshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/inputs
inputshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/inputs
libhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/lib
libhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/lib
testhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/test
testhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/test
toolshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/tools
toolshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/tree/master/tools
.clang-formathttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/.clang-format
.clang-formathttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/.clang-format
.gitignorehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/.gitignore
.travis.ymlhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/.travis.yml
.travis.ymlhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/.travis.yml
CMakeLists.txthttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/CMakeLists.txt
CMakeLists.txthttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/CMakeLists.txt
Dockerfilehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/Dockerfile
Dockerfilehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/Dockerfile
LICENSEhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/LICENSE
LICENSEhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/LICENSE
README.mdhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/blob/master/README.md
READMEhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
MIT licensehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#llvm-tutor
https://travis-ci.org/banach-space/llvm-tutor
https://github.com/banach-space/llvm-tutor/actions?query=workflow%3Ax86-Ubuntu+branch%3Amaster
https://github.com/banach-space/llvm-tutor/actions?query=workflow%3Ax86-Darwin+branch%3Amaster
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#overview
LIThttps://llvm.org/docs/TestingGuide.html
input fileshttps://github.com/banach-space/llvm-tutor/blob/master/inputs
clang-tutorhttps://github.com/banach-space/clang-tutor/
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#table-of-contents
HelloWorld: Your First Passhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld-your-first-pass
Development Environmenthttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#development-environment
Building & Testinghttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#building--testing
Overview of the Passeshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#overview-of-the-passes
Debugginghttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#debugging
About Pass Managers in LLVMhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#about-pass-managers-in-llvm
Analysis vs Transformation Passhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#analysis-vs-transformation-pass
Optimisation Passes Inside LLVMhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#optimisation-passes-inside-llvm
Referenceshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#references
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld-your-first-pass
HelloWorld.cpphttps://github.com/banach-space/llvm-tutor/blob/master/HelloWorld/HelloWorld.cpp
CMakeLists.txthttps://github.com/banach-space/llvm-tutor/blob/master/HelloWorld/CMakeLists.txt
opthttp://llvm.org/docs/CommandGuide/opt.html
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#development-environment
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#platform-support-and-requirements
opthttp://llvm.org/docs/CommandGuide/opt.html
lithttps://llvm.org/docs/CommandGuide/lit.html
FileCheckhttps://llvm.org/docs/CommandGuide/lit.html
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#installing-llvm-10-on-mac-os-x
Homebrewhttps://brew.sh/
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#note-for-mac-os-mojave-users
issuehttps://github.com/Homebrew/homebrew-core/issues/52461
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#installing-llvm-10-on-ubuntu
install modern LLVMhttps://blog.kowalczyk.info/article/k/how-to-install-latest-clang-6.0-on-ubuntu-16.04-xenial-wsl.html
repositoryhttp://apt.llvm.org/
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#building-llvm-10-from-sources
official documentationhttps://llvm.org/docs/CMake.html
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#building--testing
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#building
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#testing
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#plugins-linux-vs-mac-os
herehttp://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#overview-of-the-passes
herehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#analysis-vs-transformation-pass
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld
OpcodeCounterhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#opcodecounter
InjectFuncCallhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#injectfunccall
StaticCallCounterhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#staticcallcounter
DynamicCallCounterhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#dynamiccallcounter
MBASubhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mbasub
MBAAddhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mbaadd
RIVhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#riv
DuplicateBBhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#duplicatebb
MergeBBhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mergebb
builthttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#build-instructions
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld
earlierhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#building--testing
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#opcodecounter
LLVM IR opcodeshttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/IR/Instruction.cpp#L292
run automaticallyhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-opcodecounter-automatically
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass
input_for_cc.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_cc.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-opcodecounter-automatically
buildinghttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#building--testing
OpcodeCounter.cpphttps://github.com/banach-space/llvm-tutor/blob/master/lib/OpcodeCounter.cpp
line 82https://github.com/banach-space/llvm-tutor/blob/master/lib/OpcodeCounter.cpp#L82
line 111https://github.com/banach-space/llvm-tutor/blob/master/lib/OpcodeCounter.cpp#L111
sectionhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#about-pass-managers-in-llvm
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#injectfunccall
printfhttps://en.cppreference.com/w/cpp/io/c/fprintf
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-1
input_for_hello.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_hello.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#injectfunccall-vs-helloworld
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#staticcallcounter
print methodhttps://llvm.org/docs/WritingAnLLVMPass.html#the-print-method
AnalysisInfoMixinhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/IR/PassManager.h#L390
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-through-opt
input_for_cc.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_cc.c
print methodhttps://llvm.org/docs/WritingAnLLVMPass.html#the-print-method
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-through-static
StaticMain.cpphttps://github.com/banach-space/llvm-tutor/blob/master/tools/StaticMain.cpp
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#dynamiccallcounter
InjectFuncCallhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#injectfunccall
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-2
input_for_cc.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_cc.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#dynamiccallcounter-vs-staticcallcounter
HelloWorld and InjectFuncCallhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#injectfunccall-vs-helloworld
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mixed-boolean-arithmetic-transformations
mixed boolean arithmetichttps://tel.archives-ouvertes.fr/tel-01623849/document
Hacker's Delighthttps://www.amazon.co.uk/Hackers-Delight-Henry-S-Warren/dp/0201914654
clang-tutorhttps://github.com/banach-space/clang-tutor#obfuscator
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mbasub
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-3
input_for_mba_sub.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_mba_sub.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mbaadd
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-4
input_for_add.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_mba.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#riv
basic blockhttp://llvm.org/docs/ProgrammersManual.html#the-basicblock-class
integer typehttps://llvm.org/docs/LangRef.html#integer-type
LLVM IRhttps://llvm.org/docs/LangRef.html
Dominator Treehttps://en.wikipedia.org/wiki/Dominator_(graph_theory)
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-5
input_for_riv.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_riv.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#duplicatebb
PHI nodeshttps://en.wikipedia.org/wiki/Static_single_assignment_form
SplitBlockAndInsertIfThenElsehttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h#L326
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-6
input_for_duplicate_bb.chttps://github.com/banach-space/llvm-tutor/blob/master/inputs/input_for_duplicate_bb.c
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mergebb
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-7
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-mergebb-on-the-output-from-duplicatebb
output generated by DuplicateBBhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#run-the-pass-7
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#debugging
LLVM_DEBUGhttp://llvm.org/docs/ProgrammersManual.html#the-llvm-debug-macro-and-debug-option
STATISTIChttp://llvm.org/docs/ProgrammersManual.html#the-statistic-class-stats-option
MBAAddhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mbaadd
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mac-os-x
LLDBhttp://lldb.llvm.org
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#ubuntu
GDBhttps://www.gnu.org/software/gdb/
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#about-pass-managers-in-llvm
multi-pass compilerhttps://en.wikipedia.org/wiki/Multi-pass_compiler
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#overview-of-pass-managers-in-llvm
documentedhttp://llvm.org/docs/WritingAnLLVMPass.html
Pass Managerhttps://github.com/llvm-mirror/llvm/blob/ff8c1be17aa3ba7bacb1ef7dcdbecf05d5ab4eb7/include/llvm/IR/PassManager.h#L458
soon to becomehttp://lists.llvm.org/pipermail/llvm-dev/2019-August/134326.html
blog serieshttps://medium.com/@mshockwave/writing-llvm-pass-in-2018-preface-6b90fa67ae82
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#new-vs-legacy-pm-when-running-opt
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#analysis-vs-transformation-pass
PassInfoMixinhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/IR/PassManager.h#L373
AnalysisInfoMixinhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/IR/PassManager.h#L390
AnalysisKeyhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/IR/PassManager.h#L406
print methodhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/tools/opt/PassPrinters.cpp#L50
ModulePasshttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/Pass.h#L222
FunctionPasshttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/include/llvm/Pass.h#L282
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld
StaticCallCounterhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#staticcallcounter
MBASubhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#mbasub
OpcodeCounterhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#opcodecounter
HelloWorldhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#helloworld
comments in the codehttps://github.com/banach-space/llvm-tutor/blob/master/lib/OpcodeCounter.cpp#L6-L10
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#optimisation-passes-inside-llvm
the passes available within LLVMhttps://llvm.org/docs/Passes.html
dcehttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Scalar/DCE.cpp
dce.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/dce.ll
memcpyopthttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
memcpyopt.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/memcpyopt.ll
reassociatehttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Scalar/Reassociate.cpp
reassociate.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/reassociate.ll
always-inlinehttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/IPO/AlwaysInliner.cpp
alwaysinlinehttps://llvm.org/docs/LangRef.html#function-attributes
always-inline.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/always-inline.ll
loop-deletionhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Scalar/LoopDeletion.cpp
loop-deletion.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/loop-deletion.ll
licmhttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Scalar/LICM.cpp
Loop-Invariant Code Motionhttps://en.wikipedia.org/wiki/Loop-invariant_code_motion
licm.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/licm.ll
slphttps://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Superword-level parallelism vectorisationhttps://llvm.org/docs/Vectorizers.html#the-slp-vectorizer
slp_x86.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/slp_x86.ll
slp_aarch64.llhttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/slp_aarch64.ll
LLVM's transform passeshttps://llvm.org/docs/Passes.html#transform-passes
RUN linehttps://github.com/banach-space/llvm-tutor/blob/master/test/llvm/always-inline.ll#L2
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#references
slideshttps://llvm.org/devmtg/2019-04/slides/Tutorial-Bridgers-LLVM_IR_tutorial.pdf
videohttps://www.youtube.com/watch?v=m8G_S5LwlTo&feature=youtu.be
linkhttps://mapping-high-level-constructs-to-llvm-ir.readthedocs.io/en/latest/
llvm/examples/IRTransforms/https://github.com/llvm/llvm-project/tree/release/10.x/llvm/examples/IRTransforms
llvm/lib/Transforms/Hello/https://github.com/llvm/llvm-project/blob/release/10.x/llvm/lib/Transforms/Hello
llvm/examples/Bye/https://github.com/llvm/llvm-project/tree/release/10.x/llvm/examples/Bye
videohttps://www.youtube.com/watch?v=3QQuhL-dSys&t=826s
videohttps://www.youtube.com/watch?v=ar7cJl2aBuU
bloghttps://medium.com/@mshockwave/writing-llvm-pass-in-2018-preface-6b90fa67ae82
slideshttps://llvm.org/devmtg/2015-10/slides/GueltonGuinet-BuildingTestingDebuggingASimpleOutOfTreePass.pdf
videohttps://www.youtube.com/watch?v=BnlG-owSVTk&index=8&list=PL_R5A0lGi1AA4Lv2bBFSwhgDaHvvpVU21
slideshttp://llvm.org/devmtg/2018-04/slides/Sergeev-Taming%20a%20custom%20pipeline%20of%20Falcon%20JIT.pdf
videohttps://www.youtube.com/watch?v=6X12D46sRFw
slideshttps://llvm.org/devmtg/2014-10/Slides/Carruth-TheLLVMPassManagerPart2.pdf
videohttp://web.archive.org/web/20160718071630/http://llvm.org/devmtg/2014-10/Videos/The%20LLVM%20Pass%20Manager%20Part%202-720.mov
slideshttps://llvm.org/devmtg/2014-04/PDFs/Talks/Passes.pdf
videohttps://www.youtube.com/watch?v=rY02LT08-J8
linkhttp://www.mshah.io/fosdem18.html
llvm-demohttps://github.com/nsumner/llvm-demo
bloghttps://lowlevelbits.org/building-an-llvm-based-tool.-lessons-learned/
videohttps://www.youtube.com/watch?reload=9&v=Yvj4G9B6pcU
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#credits
online documentationhttp://llvm.org/docs/
slideshttps://llvm.org/devmtg/2015-10/slides/GueltonGuinet-BuildingTestingDebuggingASimpleOutOfTreePass.pdf
videohttps://www.youtube.com/watch?v=BnlG-owSVTk&index=8&list=PL_R5A0lGi1AA4Lv2bBFSwhgDaHvvpVU21
blog serieshttps://medium.com/@mshockwave/writing-llvm-pass-in-2018-preface-6b90fa67ae82
Nick Sunmerhttps://www.cs.sfu.ca/~wsumner/index.html
llvm-demohttps://github.com/nsumner/llvm-demo
Mike Shahhttp://www.mshah.io
talkhttp://www.mshah.io/fosdem18.html
https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#license
Readme https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#readme-ov-file
MIT license https://patch-diff.githubusercontent.com/makeroftools/llvm-tutor#MIT-1-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor
Activityhttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/activity
0 starshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/stargazers
0 watchinghttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/watchers
0 forkshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fmakeroftools%2Fllvm-tutor&report=makeroftools+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/makeroftools/llvm-tutor/releases
Packages 0https://patch-diff.githubusercontent.com/users/makeroftools/packages?repo_name=llvm-tutor
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.