-
Notifications
You must be signed in to change notification settings - Fork 78
LLVM verification #356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
LLVM verification #356
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
7f82b46
Add simple Docker environment variable
AFOliveira 7141a9c
Fix errors due to incorrect parsing of VM
AFOliveira 6e45c3b
First Refactor to pytest
AFOliveira ac04c28
Allow 16 bit instructions for C extension
AFOliveira f1b8613
Revert bad parsing
AFOliveira e3e7456
Allow only one value
AFOliveira 4355eb0
Use AsmString instead of name
AFOliveira 8492581
Small Refactor on parsing.py
AFOliveira 3bd1d2c
refactor to do unit tests
AFOliveira 6b9fdda
refactor to file name
AFOliveira 831a10b
Modify to have seveal Unit tests instead of just one
AFOliveira 655e1d6
Clean up and code reorganization
AFOliveira d61fb3b
Ensure it is not pseudo
AFOliveira 5992124
Skip aq/rl instructions
AFOliveira c2e6e92
add pytest to requirements
AFOliveira 7c9c65b
add LLVM path as environment variable
AFOliveira 3178538
remove and ignor python cache
AFOliveira 11d4c60
Add LLVM test to the Rakefile
AFOliveira 2185239
Optimizations to test logic and modify test order
AFOliveira 64a7525
Merge branch 'main' into AFOliveira/LLVM
AFOliveira 9b9bce5
Add prerequisites syntax
3939224
Fix merge conflict
daae5d5
Fix pre-commit related issues
450c65b
Merge branch 'main' into AFOliveira/LLVM
AFOliveira d9e45b3
Add LLVM tblgen to regress.yaml && change Rakefile for new changes
AFOliveira 0fa5bdd
Fix caching
AFOliveira 56412ac
Fix caching
AFOliveira b2748e0
Fix caching
AFOliveira 6968919
Add dependencie for smoke test
AFOliveira 25aa928
Change logic for LLVM's path
AFOliveira 5ee8496
Change CI logic for LLVM
AFOliveira 92f9c99
Add cache and update paths
AFOliveira 34e769e
Add corner case when implementation of LLVM does not need to follow t…
AFOliveira b3c523c
Merge branch 'main' into AFOliveira/LLVM
AFOliveira 15b12f3
Merge branch 'main' into AFOliveira/LLVM
AFOliveira af0acae
Work around for FENCE. ISA and compiler should treat it differently
AFOliveira b1e0ee6
Set CM instruction length 16 bit instead of 32
AFOliveira f99e556
Merge branch 'main' into AFOliveira/LLVM
AFOliveira 4510bed
merged
AFOliveira 7b1697f
Merge remote-tracking branch 'origin/main' into AFOliveira/LLVM
dhower-qc 7bfe623
Merge branch 'main' into AFOliveira/LLVM
AFOliveira b2f102e
Add LICENSE compliant to UDB native files.
AFOliveira File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,17 +17,29 @@ | |
| - uses: actions/setup-python@v5 | ||
| - uses: pre-commit/[email protected] | ||
| regress-smoke: | ||
| needs: build-llvm | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| SINGULARITY: 1 | ||
| steps: | ||
| - name: Clone Github Repo Action | ||
| uses: actions/checkout@v4 | ||
| - name: Get current LLVM submodule commit SHA | ||
| id: get-llvm-sha | ||
| run: echo "LLVM_SHA=$(git ls-tree HEAD ext/llvm-project | awk '{print $3}')" >> $GITHUB_ENV | ||
| - name: Restore cache RISC-V JSON | ||
| id: cache-riscv | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ext/llvm-project/riscv.json | ||
| key: ${{ runner.os }}-riscv-json-${{ env.LLVM_SHA }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-riscv-json- | ||
| - name: singularity setup | ||
| uses: ./.github/actions/singularity-setup | ||
| - name: Run smoke | ||
| run: ./do test:smoke | ||
| regress-gen-isa-manual: | ||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
|
||
| runs-on: ubuntu-latest | ||
| env: | ||
| MANUAL_NAME: isa | ||
|
|
@@ -98,7 +110,55 @@ | |
| uses: ./.github/actions/singularity-setup | ||
| - name: Generate extension PDF | ||
| run: ./do gen:profile_release_pdf[Mock] | ||
| build-llvm: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Check out repository (no submodules, shallow fetch) | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: false | ||
| fetch-depth: 1 | ||
| - name: Get current LLVM submodule commit SHA | ||
| id: get-llvm-sha | ||
| run: echo "LLVM_SHA=$(git ls-tree HEAD ext/llvm-project | awk '{print $3}')" >> $GITHUB_ENV | ||
| - name: Cache RISC-V JSON | ||
| id: cache-riscv | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ext/llvm-project/riscv.json | ||
| key: ${{ runner.os }}-riscv-json-${{ env.LLVM_SHA }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-riscv-json- | ||
| - name: Initialize LLVM submodule (shallow + sparse) | ||
| if: ${{ steps.cache-riscv.outputs.cache-hit != 'true' }} | ||
| run: | | ||
| git submodule sync --recursive | ||
| git submodule update --init --recursive --depth=1 ext/llvm-project | ||
|
|
||
| - name: Check for required directories and files | ||
| if: ${{ steps.cache-riscv.outputs.cache-hit != 'true' }} | ||
| run: | | ||
| ls -l ext/llvm-project/llvm/include | ||
| ls -l ext/llvm-project/llvm/lib/Target/RISCV | ||
| ls -l ext/llvm-project/llvm/lib/Target/RISCV/RISCV.td | ||
| - name: Configure and build llvm-tblgen | ||
| if: ${{ steps.cache-riscv.outputs.cache-hit != 'true' }} | ||
| run: | | ||
| cmake -S ext/llvm-project/llvm -B ext/llvm-project/build -DCMAKE_BUILD_TYPE=Release | ||
| cmake --build ext/llvm-project/build --target llvm-tblgen | ||
| - name: Generate RISC-V JSON | ||
| if: ${{ steps.cache-riscv.outputs.cache-hit != 'true' }} | ||
| run: | | ||
| chmod +x ./ext/llvm-project/build/bin/llvm-tblgen | ||
| ./ext/llvm-project/build/bin/llvm-tblgen \ | ||
| -I ext/llvm-project/llvm/include \ | ||
| -I ext/llvm-project/llvm/lib/Target/RISCV \ | ||
| ext/llvm-project/llvm/lib/Target/RISCV/RISCV.td \ | ||
| --dump-json \ | ||
| -o ext/llvm-project/riscv.json | ||
| - name: Show riscv.json output | ||
| run: ls -l ext/llvm-project/riscv.json | ||
| regress-gen-go: | ||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
|
||
| runs-on: ubuntu-latest | ||
| env: | ||
| SINGULARITY: 1 | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,5 +16,8 @@ gen | |
| node_modules | ||
| _site | ||
| images | ||
| __pycache__/ | ||
| *.pyc | ||
| .pytest_cache/ | ||
| *.bak | ||
| *.log | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.