diff options
author | Dylan McKay <me@dylanmckay.io> | 2017-09-28 01:17:11 +0300 |
---|---|---|
committer | Dylan McKay <me@dylanmckay.io> | 2017-09-28 01:17:11 +0300 |
commit | 51d9915350bf1567f8695410d14f980780c29398 (patch) | |
tree | d1fbc9e2a6e7562687f339890dbb713708d398f7 | |
parent | 34c887f155c1b2e2ffb88934fc3ba9fdd4e2722a (diff) |
Merging r314070:
------------------------------------------------------------------------
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.
------------------------------------------------------------------------
llvm-svn: 314357
-rw-r--r-- | llvm/lib/Target/AVR/AVRISelLowering.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/AVR/AVRISelLowering.h b/llvm/lib/Target/AVR/AVRISelLowering.h index b44c62a21ac3..85f9552cd75c 100644 --- a/llvm/lib/Target/AVR/AVRISelLowering.h +++ b/llvm/lib/Target/AVR/AVRISelLowering.h @@ -75,6 +75,11 @@ public: MVT getScalarShiftAmountTy(const DataLayout &, EVT LHSTy) const override { return MVT::i8; } + + MVT::SimpleValueType getCmpLibcallReturnType() const override { + return MVT::i8; + } + const char *getTargetNodeName(unsigned Opcode) const override; SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override; |