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

Removes hasBooleanRepresentation #251

Merged
merged 3 commits into from
Sep 7, 2023

Conversation

gitoleg
Copy link
Collaborator

@gitoleg gitoleg commented Sep 4, 2023

This PR removes the method hasBooleanRepresentation as was discussed in PR#233
Briefly, the cir.bool has the same representation in memory and after load. The LLVM IR differs, that's why the check is there, in the origin CodeGen.

Also, in order to trigger the path and make the implementation to be conform with the original CodeGen, there are changes in the CIRGenExprScalar: call the common buildFromLValue instead of manaul load creation.

Also, a couple of tests for the bool load/store added

@gitoleg gitoleg changed the title Removes bool mem check Removes hasBooleanRepresentation Sep 5, 2023
clang/test/CIR/CodeGen/bool.c Outdated Show resolved Hide resolved
clang/test/CIR/CodeGen/bool.c Show resolved Hide resolved
clang/lib/CIR/CodeGen/CIRGenExpr.cpp Outdated Show resolved Hide resolved
clang/lib/CIR/CodeGen/CIRGenExpr.cpp Show resolved Hide resolved
@bcardosolopes
Copy link
Member

Another observation, please attach more prefixes to the PR message, something like [CIR][CIRGen][NFC] Remove overly conservative boolean type check.

@gitoleg
Copy link
Collaborator Author

gitoleg commented Sep 6, 2023

@bcardosolopes fixed!

Copy link
Member

@bcardosolopes bcardosolopes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thank you!

@bcardosolopes bcardosolopes merged commit be48922 into llvm:main Sep 7, 2023
lanza pushed a commit that referenced this pull request Oct 27, 2023
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
lanza pushed a commit that referenced this pull request Dec 20, 2023
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
lanza pushed a commit that referenced this pull request Jan 29, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
lanza pushed a commit that referenced this pull request Mar 23, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
eZWALT pushed a commit to eZWALT/clangir that referenced this pull request Mar 24, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](llvm#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
eZWALT pushed a commit to eZWALT/clangir that referenced this pull request Mar 24, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](llvm#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
lanza pushed a commit that referenced this pull request Apr 29, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
lanza pushed a commit that referenced this pull request Apr 29, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
eZWALT pushed a commit to eZWALT/clangir that referenced this pull request Apr 29, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](llvm#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
lanza pushed a commit that referenced this pull request Apr 29, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
bruteforceboy pushed a commit to bruteforceboy/clangir that referenced this pull request Oct 2, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](llvm#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
Hugobros3 pushed a commit to shady-gang/clangir that referenced this pull request Oct 2, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](llvm#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
keryell pushed a commit to keryell/clangir that referenced this pull request Oct 19, 2024
This PR removes the method `hasBooleanRepresentation` as was discussed
in [PR#233](llvm#233)
Briefly, the `cir.bool` has the same representation in memory and after
load. The LLVM IR differs, that's why the check is there, in the origin
`CodeGen`.

Also, in order to trigger the path and make the implementation to be
conform with the original `CodeGen`, there are changes in the
`CIRGenExprScalar`: call the common `buildFromLValue` instead of manaul
`load` creation.

Also, a couple of tests for the bool load/store added
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants