Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

[MSP430] Fix PR32769: Select8 and Select16 need to have SR in Uses. #75

Merged
merged 1 commit into from
Apr 26, 2017

Conversation

pftbest
Copy link

@pftbest pftbest commented Apr 26, 2017

If Select pseudo instruction doesn't have use SR, then
CMP instructions are being marked as dead and later can be
removed by MachineCSE pass. This leads to incorrect code
generation.

Differential Revision: https://reviews.llvm.org/D32473

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301372 91177308-0d34-0410-b5e6-96231b3b80d8

If Select pseudo instruction doesn't have use SR, then
CMP instructions are being marked as dead and later can be
removed by MachineCSE pass. This leads to incorrect code
generation.

Differential Revision: https://reviews.llvm.org/D32473

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301372 91177308-0d34-0410-b5e6-96231b3b80d8
@alexcrichton alexcrichton merged commit 15745af into rust-lang:rust-llvm-2017-04-13 Apr 26, 2017
@pftbest pftbest deleted the fix_msp430 branch April 26, 2017 13:54
arielb1 pushed a commit that referenced this pull request Jun 27, 2017
[MSP430] Fix PR32769: Select8 and Select16 need to have SR in Uses.
exscape added a commit to exscape/llvm that referenced this pull request Sep 21, 2017
This fixes the issue (rust-lang#75) with floating-point comparisons generating broken code.
By default, LLVM assumes these comparisons return 32-bit values, but ours are 8-bit.
exscape added a commit to exscape/llvm that referenced this pull request Sep 23, 2017
This fixes the issue (rust-lang#75) with floating-point comparisons generating broken code.
By default, LLVM assumes these comparisons return 32-bit values, but ours are 8-bit.
dylanmckay pushed a commit to avr-rust/llvm that referenced this pull request Sep 24, 2017
This fixes the avr-rust issue (rust-lang#75) with floating-point comparisons generating broken code.
By default, LLVM assumes these comparisons return 32-bit values, but ours are 8-bit.

Patch By Thomas Backman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314070 91177308-0d34-0410-b5e6-96231b3b80d8
dylanmckay pushed a commit to avr-rust/llvm that referenced this pull request Sep 24, 2017
This fixes the issue (rust-lang#75) with floating-point comparisons generating broken code.
By default, LLVM assumes these comparisons return 32-bit values, but ours are 8-bit.
alexcrichton pushed a commit that referenced this pull request Oct 10, 2017
------------------------------------------------------------------------
r314070 | dylanmckay | 2017-09-24 14:07:26 +1300 (Sun, 24 Sep 2017) | 6 lines

[AVR] Implement getCmpLibcallReturnType().

This fixes the avr-rust issue (#75) with floating-point comparisons generating broken code.
By default, LLVM assumes these comparisons return 32-bit values, but ours are 8-bit.

Patch By Thomas Backman.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_50@314357 91177308-0d34-0410-b5e6-96231b3b80d8
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.

2 participants