Skip to content
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

[CIR][ABI] Apply CC lowering pass by default #842

Merged

Commits on Sep 21, 2024

  1. [CIR][ABI] Apply CC lowering pass by default

    Before this patch, the CC lowering pass was applied only when explicitly
    requested by the user. This update changes the default behavior to
    always apply the CC lowering pass, with an option to disable it using
    the `-fno-clangir-call-conv-lowering` flag if necessary.
    
    The primary objective is to make this pass a mandatory step in the
    compilation pipeline. This ensures that future contributions correctly
    implement the CC lowering for both existing and new targets, resulting
    in more consistent and accurate code generation.
    
    From an implementation perspective, several `llvm_unreachable`
    statements have been substituted with a new `assert_or_abort` macro.
    This macro can be configured to either trigger a non-blocking assertion
    or a blocking unreachable statement. This facilitates a test-by-testa
    incremental development as it does not required you to know which
    code path a test will trigger an just cause a crash if it does.
    
    A few notable changes:
    
     - Support multi-block function in CC lowering
     - Ignore pointer-related CC lowering
     - Ignore no-proto functions CC lowering
     - Handle missing type evaluation kinds
     - Fix CC lowering for function declarations
     - Unblock indirect function calls
     - Disable CC lowering pass on several tests
    sitio-couto committed Sep 21, 2024
    Configuration menu
    Copy the full SHA
    03f5745 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a48ccc6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    00b7b36 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    634e5ef View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b65590c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5574bcb View commit details
    Browse the repository at this point in the history
  7. Fix formatting issues

    sitio-couto committed Sep 21, 2024
    Configuration menu
    Copy the full SHA
    c346cf1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    289ef0f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    21e78b1 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Configuration menu
    Copy the full SHA
    7736e57 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ded4eb9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b0768a4 View commit details
    Browse the repository at this point in the history