diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-01-21 05:44:05 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-01-21 05:44:05 +0000 |
commit | 08b9b0521847cbe6c991fcd0e8c6c728525d268c (patch) | |
tree | fa76567fa35af4c2d7fe08a0035a8b5252f0dce4 /lib/Target/PIC16/PIC16.h | |
parent | d1e8d9c0a5dc821b6b52f7872181edeeec5df7ba (diff) |
Implement LowerOperationWrapper for legalizer.
Also a few signed comparison fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62665 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PIC16/PIC16.h')
-rw-r--r-- | lib/Target/PIC16/PIC16.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/Target/PIC16/PIC16.h b/lib/Target/PIC16/PIC16.h index f9f51ab9cc..e37ef4f209 100644 --- a/lib/Target/PIC16/PIC16.h +++ b/lib/Target/PIC16/PIC16.h @@ -31,7 +31,11 @@ namespace PIC16CC { LT, LE, GT, - GE + GE, + ULT, + UGT, + ULE, + UGE }; } @@ -41,12 +45,32 @@ namespace PIC16CC { case PIC16CC::NE: return "ne"; case PIC16CC::EQ: return "eq"; case PIC16CC::LT: return "lt"; + case PIC16CC::ULT: return "lt"; case PIC16CC::LE: return "le"; case PIC16CC::GT: return "gt"; + case PIC16CC::UGT: return "gt"; case PIC16CC::GE: return "ge"; } } + inline static bool isSignedComparison(PIC16CC::CondCodes CC) { + switch (CC) { + default: assert(0 && "Unknown condition code"); + case PIC16CC::NE: + case PIC16CC::EQ: + case PIC16CC::LT: + case PIC16CC::LE: + case PIC16CC::GE: + case PIC16CC::GT: + return true; + case PIC16CC::ULT: + case PIC16CC::UGT: + case PIC16CC::ULE: + case PIC16CC::UGE: + return false; // condition codes for unsigned comparison. + } + } + FunctionPass *createPIC16ISelDag(PIC16TargetMachine &TM); FunctionPass *createPIC16CodePrinterPass(raw_ostream &OS, |