Skip to content

Conversation

will-leeson
Copy link

No description provided.

@repo-lockdown
Copy link

repo-lockdown bot commented Jul 20, 2021

This repository does not accept pull requests. Please follow http://llvm.org/docs/Contributing.html#how-to-submit-a-patch for contribution to LLVM.

@repo-lockdown repo-lockdown bot closed this Jul 20, 2021
@repo-lockdown repo-lockdown bot locked and limited conversation to collaborators Jul 20, 2021
pysuxing pushed a commit to pysuxing/llvm-project that referenced this pull request Jul 17, 2024
Instead of ignoring global view access with zero offset, we should
properly dereference the global type to prevent type-matching errors.

This patch also fixes other two issues:

 - An extra index was wrongly added to the global view access. E.g.
   for an access like `a[0]` would generate a GV with 2 zero indexes.
   The indexes, however, do not take the pointer wrapping the global
   type into account.
 - When assigning the address of a complete type to an incomplete one
   the complete type would override the incomplete destination type,
   causing inconsistencies during CodeGen. For example, given `int a[3];`
   and `int (*ptr_a)[] = &a;`, despite `ptr_a`, in CIR it would be
   considered complete.

Fixes llvm#329
pysuxing pushed a commit to pysuxing/llvm-project that referenced this pull request Jul 17, 2024
Instead of ignoring global view access with zero offset, we should
properly dereference the global type to prevent type-matching errors.

This patch also fixes other two issues:

 - An extra index was wrongly added to the global view access. E.g.
   for an access like `a[0]` would generate a GV with 2 zero indexes.
   The indexes, however, do not take the pointer wrapping the global
   type into account.
 - When assigning the address of a complete type to an incomplete one
   the complete type would override the incomplete destination type,
   causing inconsistencies during CodeGen. For example, given `int a[3];`
   and `int (*ptr_a)[] = &a;`, despite `ptr_a`, in CIR it would be
   considered complete.

Fixes llvm#329
keryell pushed a commit to keryell/llvm-project that referenced this pull request Oct 19, 2024
Instead of ignoring global view access with zero offset, we should
properly dereference the global type to prevent type-matching errors.

This patch also fixes other two issues:

 - An extra index was wrongly added to the global view access. E.g.
   for an access like `a[0]` would generate a GV with 2 zero indexes.
   The indexes, however, do not take the pointer wrapping the global
   type into account.
 - When assigning the address of a complete type to an incomplete one
   the complete type would override the incomplete destination type,
   causing inconsistencies during CodeGen. For example, given `int a[3];`
   and `int (*ptr_a)[] = &a;`, despite `ptr_a`, in CIR it would be
   considered complete.

Fixes llvm#329
lanza pushed a commit to lanza/llvm-project that referenced this pull request Aug 9, 2025
Instead of ignoring global view access with zero offset, we should
properly dereference the global type to prevent type-matching errors.

This patch also fixes other two issues:

 - An extra index was wrongly added to the global view access. E.g.
   for an access like `a[0]` would generate a GV with 2 zero indexes.
   The indexes, however, do not take the pointer wrapping the global
   type into account.
 - When assigning the address of a complete type to an incomplete one
   the complete type would override the incomplete destination type,
   causing inconsistencies during CodeGen. For example, given `int a[3];`
   and `int (*ptr_a)[] = &a;`, despite `ptr_a`, in CIR it would be
   considered complete.

Fixes llvm#329
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant