Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
246 commits
Select commit Hold shift + click to select a range
19784f3
Feature/llvm pass proposal (#1092)
troels-im Jul 30, 2021
464a7c4
Qubit Allocation Analysis Pass (#1098)
troels-im Aug 9, 2021
e90dfa8
Adding Python to the CI process (#1106)
troels-im Aug 10, 2021
fc26929
Passes light roadmap document (#1104)
troels-im Aug 12, 2021
700cdec
Profile adoption tool (#1110)
troels-im Aug 16, 2021
1928ab1
Merge branch 'main' into features/llvm-passes
Aug 25, 2021
2cf15d1
CTest Infrastructure, documentation Docker image and improved docs (#…
troels-im Aug 30, 2021
a53d322
Merge branch 'features/llvm-passes' into beheim/updatesFromMain
troels-im Aug 30, 2021
78141eb
Updates from main
bettinaheim Aug 30, 2021
6ef1f7c
QAT refactor (#1131)
troels-im Sep 3, 2021
3f6daf3
Creating module based configuration
troels-im Sep 6, 2021
4e2985f
Adding configuration modules
troels-im Sep 6, 2021
0fd12d7
More refactoring
troels-im Sep 6, 2021
c067842
Deprecating RuleSet profile
troels-im Sep 7, 2021
619cf7c
Refactoring
troels-im Sep 7, 2021
ce30367
Finishing dump config
troels-im Sep 7, 2021
81c2f57
Preparing for draft PR
troels-im Sep 7, 2021
e3f026e
Cleaning
troels-im Sep 7, 2021
c243607
More refactoring
troels-im Sep 7, 2021
6384e2b
Preparing error logging
troels-im Sep 7, 2021
9cd1a83
Fixing CI
troels-im Sep 7, 2021
da8c107
Adding commandline tests
troels-im Sep 8, 2021
503f264
Refactor
troels-im Sep 8, 2021
75fa76f
Fixing issues
troels-im Sep 8, 2021
6b59422
Minor changes
troels-im Sep 8, 2021
791895a
Style fixing
troels-im Sep 8, 2021
33e225c
Renaming pass
troels-im Sep 9, 2021
a4ee7b3
More refactor
troels-im Sep 9, 2021
7def3c9
Finalising component registration
troels-im Sep 9, 2021
868fa7b
Formatting style
troels-im Sep 9, 2021
14d540d
Minor refactor
troels-im Sep 9, 2021
8bceb91
Fixed CI
troels-im Sep 9, 2021
42b1789
More tests
troels-im Sep 9, 2021
f4ffc5a
Removing example QIR
troels-im Sep 9, 2021
1eb90ee
Updating test
troels-im Sep 10, 2021
32d76df
Adding new examples
troels-im Sep 10, 2021
cc36613
Updating Phi tests
troels-im Sep 10, 2021
f7ecfc6
Merge branch 'main' into feature/new-examples
troels-im Sep 10, 2021
0d70a8b
Merge branch 'main' into feature/qat-configuration
troels-im Sep 10, 2021
9875e2f
CI update
troels-im Sep 10, 2021
c8941e5
Removing garbage
troels-im Sep 10, 2021
f0c8227
Passes main update (#1140)
troels-im Sep 10, 2021
734a9d6
Merge branch 'features/llvm-passes' into feature/qat-configuration
troels-im Sep 13, 2021
7e8ed0b
Merge branch 'features/llvm-passes' into feature/new-examples
troels-im Sep 13, 2021
10b390f
Examples update
troels-im Sep 13, 2021
71c47ea
Merge branch 'feature/new-examples' into feature/phi-node-update
troels-im Sep 13, 2021
5bd4c0c
Fixing exmaple
troels-im Sep 13, 2021
51a2fb3
Adding profile
troels-im Sep 13, 2021
5e4de45
Refactoring
troels-im Sep 13, 2021
da35790
Fixing issues
troels-im Sep 13, 2021
3665379
Adding always inline on examples
troels-im Sep 13, 2021
d2bd4a3
Adding counter logic to allocation interface
troels-im Sep 14, 2021
8e9df82
Updating according to requests
troels-im Sep 14, 2021
cb18576
Removing garbage
troels-im Sep 14, 2021
63a1b39
Updating config binder
troels-im Sep 14, 2021
4bee095
Merge branch 'feature/qat-configuration' into feature/qubit-count
troels-im Sep 14, 2021
abce532
Moving ownership of the allocation manager
troels-im Sep 14, 2021
c87ff84
Fixing style
troels-im Sep 14, 2021
a8e8585
Fixing style
troels-im Sep 14, 2021
6964187
Fixing CI
troels-im Sep 14, 2021
3692f04
Documenting allocation module
troels-im Sep 14, 2021
eb80596
Updating documentation for QAT
troels-im Sep 14, 2021
c7a66e5
Refactoring config
troels-im Sep 14, 2021
2b24f22
Documentation
troels-im Sep 15, 2021
8b42674
QAT: Improving architecture and configuration management (#1134)
troels-im Sep 15, 2021
e6b4502
More comments
troels-im Sep 15, 2021
036a8e5
Merging latest
troels-im Sep 15, 2021
f029bce
Deleting merge files
troels-im Sep 15, 2021
df7cd27
Update src/Passes/examples/TeleportChain/Makefile
troels-im Sep 15, 2021
a3305d4
Merge branch 'features/llvm-passes' into feature/new-examples
troels-im Sep 15, 2021
6702e94
Deleting random walk 2
troels-im Sep 15, 2021
9e783d5
Renaming example
troels-im Sep 15, 2021
84c3b68
Adding according to comments
troels-im Sep 15, 2021
d8b9f0f
Fixing merge
troels-im Sep 15, 2021
1002d4a
Removing garbage
troels-im Sep 15, 2021
3c46a46
Merging examples
troels-im Sep 15, 2021
6efb0fd
Cleaning garbage
troels-im Sep 15, 2021
d158eb5
Merge branch 'feature/qubit-count' into feature/qat-documenation
troels-im Sep 15, 2021
a1931bb
Updating docs
troels-im Sep 15, 2021
15ace35
Updating style
troels-im Sep 15, 2021
010981f
More doc strings
troels-im Sep 15, 2021
5eb7bcd
Updating style
troels-im Sep 15, 2021
d508c0a
Merge pull request #1138 from troelsfr/feature/new-examples
troels-im Sep 16, 2021
7e9ed35
Fixing merge conflict
troels-im Sep 16, 2021
9683c3c
Merge branch 'feature/phi-node-update' into feature/qubit-count
troels-im Sep 16, 2021
5c16f9d
Removing garbage
troels-im Sep 16, 2021
1884760
Merge branch 'feature/phi-node-update' into feature/qubit-count
troels-im Sep 16, 2021
ac07861
Merge branch 'feature/qubit-count' into feature/qat-documenation
troels-im Sep 16, 2021
24acc61
Preparing dynamic loading of modules
troels-im Sep 16, 2021
d3665d7
Ensuring that loaded components config is captured at the right time
troels-im Sep 16, 2021
5301eec
Finishing component loading
troels-im Sep 16, 2021
edf5044
Extending documentation
troels-im Sep 16, 2021
71f92eb
Updating documentation
troels-im Sep 17, 2021
cedf712
Minor updates to accomodate PR comments
troels-im Sep 20, 2021
b63af16
Restructuring docs
troels-im Sep 20, 2021
b4f141f
Updating quick start
troels-im Sep 20, 2021
fbc7131
Updating build docs
troels-im Sep 20, 2021
acb9532
Merge branch 'main' into feature/phi-node-update
troels-im Sep 21, 2021
1ac47ad
Merge pull request #1142 from troelsfr/feature/phi-node-update
troels-im Sep 21, 2021
47b08d7
Minor updates on docs
troels-im Sep 21, 2021
958b553
Merge branch 'features/llvm-passes' into feature/qubit-count
troels-im Sep 21, 2021
62234ef
Cleaning examples
troels-im Sep 21, 2021
c0d4117
Cleaning examples
troels-im Sep 21, 2021
62eea1c
Merge pull request #1143 from troelsfr/feature/qubit-count
troels-im Sep 21, 2021
a73bef2
Merge branch 'features/llvm-passes' into feature/qat-documenation
troels-im Sep 21, 2021
5316149
Updating API docs
troels-im Sep 22, 2021
a8ba51e
Formatting and CI
troels-im Sep 22, 2021
2a6e322
PoC
troels-im Sep 23, 2021
cfc37cd
Fixing style
troels-im Sep 23, 2021
46a2474
Example and component for transformation
troels-im Sep 27, 2021
2188835
Fixing links
troels-im Sep 27, 2021
98bd0c3
Updating with latest
troels-im Sep 27, 2021
c56ebe9
Updating CI for linux
troels-im Sep 27, 2021
87e820d
Testing different version ofCI
troels-im Sep 28, 2021
227e718
Testing different version ofCI
troels-im Sep 28, 2021
9b0aff2
Fixing linux errors
troels-im Sep 28, 2021
6e49606
Fixing linux build
troels-im Sep 28, 2021
dcd99b5
Merge pull request #1173 from troelsfr/feature/ci-bug-fix
troels-im Sep 28, 2021
5737d55
Updating with no exceptions
troels-im Sep 29, 2021
77fd306
Updating style
troels-im Sep 29, 2021
5e8edf3
Merging main
troels-im Sep 29, 2021
22ca131
Mergine latest docs
troels-im Sep 29, 2021
af8b6ff
Cleaning
troels-im Sep 29, 2021
1a85cc2
Minor fix
troels-im Sep 29, 2021
a4773a7
Minor fix
troels-im Sep 29, 2021
2728f52
Fixing style
troels-im Sep 29, 2021
00ee427
Fixing CI
troels-im Oct 4, 2021
a8c5477
Fixing CI
troels-im Oct 4, 2021
921aaf5
Merge branch 'main' into feature/update-main
troels-im Oct 4, 2021
085e55b
Merge branch 'feature/update-main' into feature/qat-documenation
troels-im Oct 4, 2021
273aba5
Merge branch 'feature/update-main' into feature/qir-array-experiment
troels-im Oct 4, 2021
f953c40
Swernl/llvm passes merge main (#1181)
swernli Oct 4, 2021
6dbfc91
Merge branch 'features/llvm-passes' into feature/qat-documenation
troels-im Oct 4, 2021
f769ee7
Merge branch 'feature/qat-documenation' into feature/qir-array-experi…
troels-im Oct 4, 2021
c6639bb
Fixing issues
troels-im Oct 4, 2021
1fe43fb
Support `select` measurement transformation (#1179)
swernli Oct 4, 2021
39ca1ae
Fixing explicit issue
troels-im Oct 4, 2021
16fc2c5
Merging target
troels-im Oct 5, 2021
14ff31a
Cleaning
troels-im Oct 5, 2021
a43774b
Making passes more customaisable
troels-im Oct 5, 2021
e48b9b4
Removing garbage
troels-im Oct 5, 2021
637f0c8
Fixing first set of tests
troels-im Oct 6, 2021
0b0976e
Styling
troels-im Oct 6, 2021
8e6abaf
Fixing other set of tests
troels-im Oct 6, 2021
c85eb05
Updating style
troels-im Oct 6, 2021
af15930
Fixing tests
troels-im Oct 6, 2021
e99258e
Updating CI
troels-im Oct 6, 2021
d6ca6ae
Merge branch 'features/llvm-passes' into feature/qat-documenation
troels-im Oct 7, 2021
85abed3
Fixing style
troels-im Oct 7, 2021
3a15ef1
Update src/Passes/docs/src/UserGuide/BuildingLibrary.md
troels-im Oct 7, 2021
0aefc66
Update src/Passes/docs/src/UserGuide/BuildingLibrary.md
troels-im Oct 7, 2021
0629716
Merge pull request #1147 from troelsfr/feature/qat-documenation
troels-im Oct 7, 2021
f8635fb
Removing garbabe
troels-im Oct 7, 2021
e5a52e1
Removing more garbage
troels-im Oct 7, 2021
0c073fe
Merging latest passes main into feature
troels-im Oct 7, 2021
e847399
Updating CI
troels-im Oct 7, 2021
fe8535f
Merge pull request #1175 from troelsfr/feature/qir-array-experiment
troels-im Oct 7, 2021
a456df9
Remove example
swernli Oct 7, 2021
f74bc8c
Merge pull request #1191 from microsoft/swernli/passes-remove-example
swernli Oct 11, 2021
bfdc64a
Merge branch 'features/llvm-passes' into feature/interface-updates
troels-im Oct 11, 2021
ded6f0b
Removing ll files
troels-im Oct 18, 2021
bc6620f
Merge pull request #1184 from troelsfr/feature/interface-updates
troels-im Oct 18, 2021
5cdeb0a
Updates providing better QAT stability (#1204)
troels-im Oct 20, 2021
908ce82
Finishing BC output (#1213)
troels-im Oct 22, 2021
5a57002
Results count annotation (#1218)
troels-im Oct 25, 2021
723e708
Changing result replacement (#1219)
troels-im Oct 25, 2021
6ada7b3
Updating validator structure
troels-im Oct 28, 2021
6a94ef0
Preparing PR
troels-im Oct 28, 2021
b7b3702
Fixing style
troels-im Oct 28, 2021
e6dd95b
Fixinng CI issues
troels-im Oct 28, 2021
8f4bac3
Updating CI
troels-im Oct 28, 2021
902f884
Updating CI
troels-im Oct 29, 2021
eee9cfc
Fixing CI issues
troels-im Oct 29, 2021
6aad8c3
Cleaning PR
troels-im Oct 29, 2021
46676cf
Fixing linking problems
troels-im Oct 29, 2021
49ee7b7
Fixing issues
troels-im Oct 29, 2021
f9007e1
Updating
troels-im Oct 29, 2021
a4ed7aa
Fixing static issues
troels-im Oct 29, 2021
384a41a
Fixing static issues
troels-im Oct 29, 2021
3dd9d36
Fixing static issues
troels-im Oct 29, 2021
00a71a0
Fixing naming
troels-im Oct 29, 2021
8ad82dd
Updating static issues
troels-im Oct 29, 2021
8d51aab
Fixign tests
troels-im Oct 29, 2021
641e0fc
Adding debug info to the CI process
troels-im Nov 1, 2021
8c1ee47
Merge pull request #1227 from troelsfr/feature/extension-and-validation
troels-im Nov 1, 2021
05fd7d5
Removing value tracker
troels-im Nov 1, 2021
e0ea87c
Excluding tests for CI
troels-im Nov 1, 2021
5f5e42d
Updating mange tool
troels-im Nov 1, 2021
8bf40d8
Update src/Passes/docs/src/index.md
troels-im Nov 2, 2021
0bee92b
Update src/Passes/docs/src/UserGuide/IntroductionToProfiles.md
troels-im Nov 2, 2021
637410a
Update src/Passes/docs/src/UserGuide/IntroductionToProfiles.md
troels-im Nov 2, 2021
ead452d
Update src/Passes/docs/src/DeveloperGuide/ArchitectureOverview.md
troels-im Nov 2, 2021
9a66908
Update src/Passes/docs/src/DeveloperGuide/WritingComponent.md
troels-im Nov 2, 2021
7f574a3
Update src/Passes/docs/src/DeveloperGuide/WritingComponent.md
troels-im Nov 2, 2021
f09ae36
Update src/Passes/docs/src/DeveloperGuide/WritingComponent.md
troels-im Nov 2, 2021
df79c90
Update src/Passes/docs/src/DeveloperGuide/WritingComponent.md
troels-im Nov 2, 2021
3cfbea4
Addressing PR comments
troels-im Nov 2, 2021
31f8bd2
Updating PR
troels-im Nov 2, 2021
05b0af6
Fixing style
troels-im Nov 2, 2021
427e473
Eliminating vtable warning
troels-im Nov 2, 2021
2a2bd11
Updating TODOs
troels-im Nov 2, 2021
d85e60d
Update src/Passes/docs/src/DeveloperGuide/CodeQuality.md
troels-im Nov 3, 2021
2a9dcac
Update src/Passes/docs/src/DeveloperGuide/CodeQuality.md
troels-im Nov 3, 2021
b739d12
Update src/Passes/Source/Commandline/ParameterParser.hpp
troels-im Nov 3, 2021
fe09a13
Update src/Passes/Source/Commandline/ParameterParser.cpp
troels-im Nov 3, 2021
9fe2d86
Update src/Passes/Source/Commandline/ConfigurationBindInterface.hpp
troels-im Nov 3, 2021
2f69964
Update build/passes-windows.ps1
troels-im Nov 3, 2021
b333ea7
Update src/Passes/CONTRIBUTING.md
troels-im Nov 3, 2021
194b321
Update src/Passes/CONTRIBUTING.md
troels-im Nov 3, 2021
7846ba1
Update src/Passes/CONTRIBUTING.md
troels-im Nov 3, 2021
380e05a
Update src/Passes/ComponentExamples/CArrayMap/main.cpp
troels-im Nov 3, 2021
a3c3b8e
Update src/Passes/ComponentExamples/CArrayMap/main.cpp
troels-im Nov 3, 2021
102edc8
Grammar change
troels-im Nov 3, 2021
6dd37cc
Fixing style
troels-im Nov 3, 2021
d97bad6
Adding more information about memory segments
troels-im Nov 3, 2021
653a0d8
Removing leftover from Windows CI experiment
troels-im Nov 3, 2021
bdb58dc
Fixing naming of config functions
troels-im Nov 3, 2021
023018f
Many PR updates
troels-im Nov 3, 2021
fff1c6e
Moving String to own header
troels-im Nov 3, 2021
ad5d939
Removing WiP Windows CI
troels-im Nov 3, 2021
671bc0e
Update src/Passes/Source/ValidationPass/ValidationConfiguration.hpp
troels-im Nov 4, 2021
48b5146
Update src/Passes/site-packages/TasksCI/builder.py
troels-im Nov 4, 2021
8e8bd09
Updating according to PR comments
troels-im Nov 4, 2021
51c3223
Updating according to PR comments
troels-im Nov 4, 2021
ffbc152
Merge branch 'feature/lowering-ci-times' of github.com:troelsfr/qshar…
troels-im Nov 4, 2021
79a2c94
More PR updates
troels-im Nov 4, 2021
162405c
Update src/Passes/manage
troels-im Nov 4, 2021
a39eaff
Update src/Passes/docs/src/base-profile-transformations.md
troels-im Nov 4, 2021
bbddbf9
Update src/Passes/docs/src/base-profile-transformations.md
troels-im Nov 4, 2021
db2e855
Update src/Passes/docs/src/DiscussionDocs/ThoughtsOnQubitManagement.md
troels-im Nov 4, 2021
31e3a0f
Update src/Passes/docs/src/base-profile-transformations.md
troels-im Nov 4, 2021
04a7066
Update src/Passes/docs/src/UserGuide/QuickStart.md
troels-im Nov 4, 2021
4351622
Update src/Passes/docs/src/UserGuide/IntroductionToProfiles.md
troels-im Nov 4, 2021
18692f0
Update src/Passes/docs/src/DeveloperGuide/WritingRuleTests.md
troels-im Nov 4, 2021
b21da15
Update src/Passes/docs/src/UserGuide/QuickStart.md
troels-im Nov 4, 2021
e114d16
Updating according to PR request
troels-im Nov 4, 2021
c7468b4
Fixing merge issues
troels-im Nov 4, 2021
2451df6
Merge branch 'main' into feature/lowering-ci-times
troels-im Nov 4, 2021
aeee77d
Updating in accordance with PR requests
troels-im Nov 4, 2021
d64a0b7
Updating PR according to comments
troels-im Nov 5, 2021
835db62
Fixing style
troels-im Nov 5, 2021
4e7d8f3
Adding Python formatting
troels-im Nov 5, 2021
da54544
Updating CONTRIBUTING.md
troels-im Nov 5, 2021
81488d2
Making py formatting optional
troels-im Nov 5, 2021
7569e3a
Merge branch 'main' into feature/lowering-ci-times
troels-im Nov 5, 2021
36ee710
Update src/Passes/Source/Rules/IOperandPrototype.cpp
troels-im Nov 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,9 @@ paket-files/
__pycache__/
*.pyc

# Python Virtual environments
*__venv/

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
Expand Down
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "src/Passes/vendors/googletest"]
path = src/Passes/vendors/googletest
url = https://github.com/google/googletest.git
shallow = true
18 changes: 16 additions & 2 deletions build/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,27 @@ schedules:
- main
always: true

pool:
vmImage: windows-latest

jobs:
- job: Build
steps:
- template: init.yml
- template: steps.yml
- template: wrap-up.yml
pool:
vmImage: windows-latest

- job: LinuxBuild
steps:
- template: passes-linux.yml
pool:
vmImage: ubuntu-20.04

- job: MacOSBuild
steps:
- template: passes-mac.yml
pool:
vmImage: macOS-latest

- job: Style
steps:
Expand All @@ -43,3 +55,5 @@ jobs:

- script: dotnet tool run fantomas -- --check --recurse .
displayName: Fantomas
pool:
vmImage: windows-latest
24 changes: 24 additions & 0 deletions build/passes-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

steps:
- script: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update -y
sudo apt-get install -y
sudo apt-get remove -y llvm-12
sudo apt-get install -y curl pkg-config findutils wget
sudo apt install -y clang-11 cmake clang-format-11 clang-tidy-11
sudo apt-get install -y llvm-11 lldb-11 llvm-11-dev libllvm11 llvm-11-runtime
sudo apt install -y python3 python3-pip
sudo apt-get remove -y llvm-10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 0
git submodule update --init --recursive
cd src/Passes/
pip install -r requirements.txt
chmod +x manage
export PYTHONUNBUFFERED=1
export PYTHON_BIN_PATH=/usr/bin/python3
export CC=clang-11
export CXX=clang++-11
./manage runci

displayName: Linux build and CI for passes
22 changes: 22 additions & 0 deletions build/passes-mac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

steps:
- script: |
rm '/usr/local/bin/2to3'
brew install llvm@11
brew install cmake
brew install [email protected]
brew unlink [email protected]
brew link [email protected]

# Updating paths
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
export PATH="/usr/local/opt/llvm@11/bin:$PATH"
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/llvm@11/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/llvm@11/include"

git submodule update --init --recursive
cd src/Passes/
pip3 install --user -r requirements.txt
chmod +x manage
./manage --loglevel info runci

1 change: 1 addition & 0 deletions build/steps.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
steps:

- pwsh: ./build.ps1
displayName: "Build all"
workingDirectory: $(System.DefaultWorkingDirectory)/build
Expand Down
1 change: 1 addition & 0 deletions build/test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ function Test-One {
}
}


Test-One '../QsCompiler.sln'
Test-One '../QsFmt.sln'

Expand Down
69 changes: 69 additions & 0 deletions src/Passes/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html

---
Language: Cpp
BasedOnStyle: Microsoft

# page width
ColumnLimit: 120
ReflowComments: true

# tabs and indents
UseTab: Never
IndentWidth: 4
TabWidth: 4
AccessModifierOffset: -2
NamespaceIndentation: Inner

# line and statements layout
BreakBeforeBraces: Allman
BinPackParameters: false
AlignAfterOpenBracket: AlwaysBreak
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortFunctionsOnASingleLine: Empty
AllowAllConstructorInitializersOnNextLine: false
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma

# misc
Cpp11BracedListStyle: true
FixNamespaceComments: true
IncludeBlocks: Preserve
SpaceBeforeInheritanceColon : true
SpaceBeforeParens: ControlStatements
DerivePointerAlignment: false
PointerAlignment: Left

# Suggestions
Standard: Cpp11
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignTrailingComments: true

ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 2

IndentCaseLabels: false
# NamespaceIndentation: None

# Ensures include compleness
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '.*\.\..*'
Priority: 1
- Regex: '^<.*\.h.*>$'
Priority: 5
- Regex: '^<.*>$'
Priority: 6
- Regex: '^"(llvm)/.*"$'
Priority: 4
- Regex: '.*/.*'
Priority: 3
- Regex: '.*'
Priority: 2
IncludeIsMainRegex: ''
SortIncludes: true
SortUsingDeclarations: true
SpaceInEmptyParentheses: false
105 changes: 105 additions & 0 deletions src/Passes/.clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
Checks: "-*,bugprone-*,\
-readability-*,\
readability-identifier-*,\
readability-redundant-member-init,\
readability-braces-around-statements,\
cert-dcl*,\
cert-env*,\
cert-err52-cpp,\
cert-err60-cpp,\
cert-flp30-c,\
clang-analyzer-*,\
clang-analyzer-security.FloatLoopCounter,\
google-build-explicit-make-pair,\
google-build-namespaces,\
google-explicit-constructor,\
google-readability-*,\
google-runtime-operator,\
hicpp-exception-baseclass,\
hicpp-explicit-conversions,\
hicpp-use-*,\
modernize-avoid-bind,\
modernize-loop-convert,\
modernize-make-shared,\
modernize-make-unique,\
modernize-redundant-void-arg,\
modernize-replace-random-shuffle,\
modernize-shrink-to-fit,\
modernize-use-bool-literals,\
modernize-use-default-member-init,\
modernize-use-emplace,\
modernize-use-equals-default,\
modernize-use-equals-delete,\
modernize-use-noexcept,\
modernize-use-nullptr,\
modernize-use-override,\
modernize-use-transparent-functors,\
misc-*,\
-misc-misplaced-widening-cast,\
-misc-no-recursion,\
performance-*"

WarningsAsErrors: '*'
HeaderFilterRegex: '.*'

CheckOptions:
# Configuration documentation: https://clang.llvm.org/extra/clang-tidy/checks/readability-identifier-naming.html
# Namespaces
- key: readability-identifier-naming.NamespaceCase
value: 'lower_case'

# Classes and structs
- key: readability-identifier-naming.AbstractClassPrefix
value: 'I'
- key: readability-identifier-naming.ClassCase
value: 'CamelCase'
- key: readability-identifier-naming.StructCase
value: 'CamelCase'
- key: readability-identifier-naming.UnionCase
value: 'CamelCase'

# Class members
- key: readability-identifier-naming.PrivateMemberCase
value: 'lower_case'
- key: readability-identifier-naming.PrivateMemberSuffix
value: '_'
- key: readability-identifier-naming.ProtectedMemberCase
value: 'lower_case'
- key: readability-identifier-naming.ProtectedMemberSuffix
value: '_'

# Type Alias and Enum Types / constants
- key: readability-identifier-naming.TypeAliasCase
value: 'CamelCase'
- key: readability-identifier-naming.TypedefCase
value: 'CamelCase'
- key: readability-identifier-naming.EnumCase
value: 'CamelCase'
- key: readability-identifier-naming.EnumConstantCase
value: 'CamelCase'

# Globals, consts and enums
- key: readability-identifier-naming.GlobalConstantCase
value: 'UPPER_CASE'
- key: readability-identifier-naming.GlobalConstantPrefix
value: 'G_'
- key: readability-identifier-naming.ConstantCase
value: 'UPPER_CASE'

# Functions
- key: readability-identifier-naming.FunctionCase
value: 'camelBack'
- key: readability-identifier-naming.IgnoreMainLikeFunctions
value: true

# Variables and parameters
- key: readability-identifier-naming.VariableCase
value: 'lower_case'
- key: readability-identifier-naming.LocalVariableCase
value: 'lower_case'
- key: readability-identifier-naming.ParameterCase
value: 'lower_case'

# Macros
- key: readability-identifier-naming.MacroDefinitionCase
value: 'UPPER_CASE'
2 changes: 2 additions & 0 deletions src/Passes/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Debug/
**_env/
Loading