Skip to content

Conversation

@jayrm
Copy link
Member

@jayrm jayrm commented Oct 24, 2020

For last few weeks the travis-ci tests have been sometimes failing for the -gen gas64 build. Suspect that this is due the internal checks for structures returned in 2 registers on linux are imprecise.

This PR changes the internal logic to check for typeGetDtAndPtrOnly( dtype ) = FB_DATATYPE_STRUCT to determine that the struct will be returned in registers. Since the ir-gas64.bas emitter is newly added it is possible that there is additional checks to be added in future.

jayrm added 2 commits October 24, 2020 14:49
- returning structure values in registers true only if type is non-pointer struct
@jayrm jayrm merged commit fbedc0a into freebasic:master Oct 24, 2020
jayrm added a commit to jayrm/fbc that referenced this pull request Oct 25, 2020
(cherry picked from commit 5267093)

gas64: fix check
(cherry picked from commit 350fd28)

gas64: fix internal check

- returning structure values in registers true only if type is non-pointer struct
(cherry picked from commit 4d177a8)

Merge pull request freebasic#260 from jayrm/fbc-gas64

change gas64 internal checks for structs returned in registers on linux
(cherry picked from commit fbedc0a)

Revert "travis: disable some tests for faster build testing"

This reverts commit 5267093.
(cherry picked from commit 24d25c6)

Revert "gas64: fix internal check"

This reverts commit 4d177a8.

Revert "gas64: fix check"

This reverts commit 350fd28.
(cherry picked from commit 83217e8)

gas64: check if structure is returned in 2 registers

- add hIsStructIn2Regs() internal function
- add comments in hGetReturnTypeGas64Linux()
(cherry picked from commit e973a9f)

gas64: invert test for SSE 41 feature flag
(cherry picked from commit c15753f)

Merge pull request freebasic#261 from jayrm/fbc-gas64

gas64: check if structure is returned in 2 registers for linux
(cherry picked from commit 91ff104)
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.

1 participant