aboutsummaryrefslogtreecommitdiff
path: root/lib/parsers/llvm-pass-dump-parser.ts
Commit message (Collapse)AuthorAge
* Hanfle filtering `tail call void @llvm.dbg.*` in LLVM IR (#6425)dzaima2024-05-02
| | | | | | | | Fixes #6416. Additionally escapes a dot in another copy of an `@llvm.dbg` check. Didn't find any existing tests for IR filtering to update where this filter applies, but did make sure locally that it does start hiding the instructions for clang-17 and clang-18.
* Accept tail calls for llvm.dbg filters (#6129)gh-10612Marc Auberer2024-02-12
| | | | | | | This adds support for filtering tail calls to `llvm.dbg.*` intrinsics using the regex-based filter mechanism. Previously, normal calls were filtered out, but tail calls are not caught by the regex so they remained in the output. Example with the previous state: https://play.spicelang.com/z/MGGn98
* Handle ir and machine functions separately in OptPipeline (#5902)gh-10067Anirudh Sundar Subramaniam2024-01-08
| | | | | | | | | | | | This patch makes a small change in how functions are handled while parsing LLVM opt pipeline output. Specifically, it differentiates between IR function and machine function, and while checking for the close of function, it only checks if the corresponding function is open. This was needed because in some targets like hexagon, the machine functions could contain `BUNDLE`s as part of the dump and `BUNDLE`s are also represented with opening and closing braces ({}). This was causing assertion because the close brace for a BUNDLE was considered to be a IR function close statement.
* Update deps, format, lint, bump workaround versiongh-9806Matt Godbolt2023-12-03
|
* Rename opt pipeline without LLVM prefix (#5828)gh-9794J. Ryan Stinnett2023-12-03
| | | | | | | | | | | This prepares for future work that will reuse the opt pipeline view outside of the LLVM ecosystem by renaming related components to remove the LLVM prefix. The pass dumper keep its LLVM prefix, as it is assumed this part is likely to be customised for each compiler ecosystem. The historical component name has been preserved in the component list as an alias to keep old links working.
* support new IR Dump header (#5603)gh-9085Patrick Quist2023-10-15
|
* Identify unused imports during lint (#5130)Jeremy Rifkin2023-06-11
|
* Transition to ECMAScript Modules (#4780)gh-6536Mats Jun Larsen2023-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes the Compiler Explorer app, and all the tooling ESM compatible. Things that have been done: 1. The package.json has `type: module` now 2. All relative imports have a .js ending 3. All directory imports are now directory/index.js to comply with ESM standards 4. Dependency node-graceful is now imported into tree, because the package is broken under esm 5. Dependency p-queue has been bumped to 7.x with ESM support 6. Dependency profanities has been bumped to 3.x with ESM support 7. Webpack config is now both ESM and CommonJS compatible 8. Non-ESM compatible imports have been rewritten 9. ESLint configuration has been tweaked to not fail on .js imports 10. Mocha is now hacked together and ran with ts-node-esm 11. Webpack is now hacked together and ran with ts-node-esm 12. Webpack config is now ESM compatible, so that it can be used in the dev server 13. Cypress code still runs commonjs, and has been excluded from the tsconfig 14. All sinon mock tests have been commented out, because sinon module mocks do not work with ESModules (because ESModules are immutable) A lot of tests are now giving warnings/errors to stdout, yet still pass. Docenizer codegenerator scripts have been updated, but I did not re-run them, and instead just changed their code. --------- Co-authored-by: Matt Godbolt <matt@godbolt.org>
* Fix trailing comma issue (#4775)gh-6504Jeremy Rifkin2023-02-26
| | | | | Make trailing commas more consistent throughout the project, fixes config conflict between eslint and prettier. Resolves an oversight in #4766.
* Handle another LLVM pass dump case (#4774)gh-6451Jeremy Rifkin2023-02-24
| | | Resolves #4195
* Turn some auto-fixable eslint rules back on (#4766)gh-6434Jeremy Rifkin2023-02-23
| | | | | | This PR turns comma-dangle and indent eslint rules on for lib/. These are rules inherited from the eslint config for static/, this PR just makes things more consistent. Also turned @typescript-eslint/no-var-requires back on while I was here.
* Assert and unwrap utilities (#4437)gh-5389Jeremy Rifkin2022-12-18
| | | | | | | | | | | | | | | * Add assert and unwrap utilities * Playing around with diagnostics * lib/assert diagnostic implementation * Remove temporary testing stuff * Reset package-lock.json to before I messed with it * Further refinements and integration * Added licence and removed an obsolete eslint directive
* refactor: renames the CompilerFilters type (#4346)gh-5117Marc Poulhiès2022-11-28
| | | | | | | | | | | | | | | The type which probably started as a real enum of possible post filtering options now also includes options used for compilers' invocations. The type was already split, but the naming was not reflecting this in the other part of the code. This changes tries to apply a simple renaming to the type only (corresponding variables are left as 'filters'). While doing so, some typing error were discovered around the GccDump feature. A fix for this will follow in a different PR. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Add `Hide metadata` option to LLVM pipeline (#4243)gh-4756Ofek2022-11-06
|
* Fixed bug with the llvm pass dump viewer, split test case from the llvm ir ↵gh-4561Jeremy Rifkin2022-10-19
| | | | parser code (#4170)
* Add tests to LlvmPassDumpParser intra-line filters (#4133)gh-4455Ofek2022-10-10
|
* Fix #4126 : hiding of llvm debug metadata erroneously hid also important ↵gh-4424Ofek2022-10-07
| | | | semantic metadata (#4127)
* Refactored the LLVM Optimization Pipeline to provide better diagnostics, ↵gh-4098Jeremy Rifkin2022-09-03
| | | | added timeout indication to exec.js (#4016)
* Ensure first MIR pass marked as changed (#3988)gh-4033J. Ryan Stinnett2022-08-25
|
* Add debug info filter option to LLVM opt pipeline viewer (#3987)gh-4018J. Ryan Stinnett2022-08-24
| | | | | | | | | | | | | * Add debug info filter option to LLVM opt pipeline viewer * Add MIR debug info pseudo-instructions to filters * Use mixin for LLVM opt pipeline options This fixes a few templating errors from the more verbose version. * Add name to contributors * Generalise dbg call filter
* Fix #3839 (#3840)gh-3569Jeremy Rifkin2022-07-05
| | | | | * Improvements to sanity checks * Fixed typo
* LLVM Optimization Pass Viewer (#3769)gh-3514Jeremy Rifkin2022-07-01