Ignore:
Timestamp:
Jan 19, 2017, 2:41:02 PM (2 years ago)
Author:
nmedfort
Message:

Code clean-up. Removed Pablo Call, SetIthBit? and Prototype.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/re/re_analysis.cpp

    r5233 r5267  
    1414#include <re/printer_re.h>
    1515#include <limits.h>
     16
     17using namespace llvm;
    1618
    1719namespace re {
     
    3638        if (n->getType() == Name::Type::Byte) {
    3739            return true;
    38         }
    39         else if (n->getType() == Name::Type::Capture || n->getType() == Name::Type::Reference) {
     40        } else if (n->getType() == Name::Type::Capture || n->getType() == Name::Type::Reference) {
    4041            return isByteLength(n->getDefinition());
    4142        }
     
    6970        if (n->getType() == Name::Type::Unicode || n->getType() == Name::Type::UnicodeProperty || n->getType() == Name::Type::Byte) {
    7071            return true;
    71         }
    72         else if (n->getType() == Name::Type::Capture || n->getType() == Name::Type::Reference) {
     72        } else if (n->getType() == Name::Type::Capture || n->getType() == Name::Type::Reference) {
    7373            return isUnicodeUnitLength(n->getDefinition());
    7474        }
     
    8080std::pair<int, int> getUnicodeUnitLengthRange(const RE * re) {
    8181    if (const Alt * alt = dyn_cast<Alt>(re)) {
    82         std::pair<int, int> range = std::make_pair(std::numeric_limits<int>::max(), 0);
     82        std::pair<int, int> range = std::make_pair(INT_MAX, 0);
    8383        for (const RE * re : *alt) {
    8484            auto r = getUnicodeUnitLengthRange(re);
     
    9191        for (const RE * re : *seq) {
    9292            auto tmp = getUnicodeUnitLengthRange(re);
    93             if (LLVM_LIKELY(tmp.first < std::numeric_limits<int>::max() - range.first)) {
     93            if (LLVM_LIKELY(tmp.first < (INT_MAX - range.first))) {
    9494                range.first += tmp.first;
    9595            } else {
    96                 range.first = std::numeric_limits<int>::max();
     96                range.first = INT_MAX;
    9797            }
    98             if (LLVM_LIKELY(tmp.second < std::numeric_limits<int>::max() - range.second)) {
     98            if (LLVM_LIKELY(tmp.second < (INT_MAX - range.second))) {
    9999                range.second += tmp.second;
    100100            } else {
    101                 range.second = std::numeric_limits<int>::max();
     101                range.second = INT_MAX;
    102102            }
    103103        }
     
    105105    } else if (const Rep * rep = dyn_cast<Rep>(re)) {
    106106        auto range = getUnicodeUnitLengthRange(rep->getRE());
    107         if (LLVM_LIKELY(rep->getLB() != Rep::UNBOUNDED_REP && range.first < std::numeric_limits<int>::max())) {
     107        if (LLVM_LIKELY(rep->getLB() != Rep::UNBOUNDED_REP && range.first < INT_MAX)) {
    108108            range.first *= rep->getLB();
    109109        } else {
    110             range.first = std::numeric_limits<int>::max();
     110            range.first = INT_MAX;
    111111        }
    112         if (LLVM_LIKELY(rep->getUB() != Rep::UNBOUNDED_REP && range.second < std::numeric_limits<int>::max())) {
     112        if (LLVM_LIKELY(rep->getUB() != Rep::UNBOUNDED_REP && range.second < INT_MAX)) {
    113113            range.second *= rep->getUB();
    114114        } else {
    115             range.second = std::numeric_limits<int>::max();
     115            range.second = INT_MAX;
    116116        }
    117117        return range;
     
    139139                return std::make_pair(0, 0);
    140140            case Name::Type::Unknown:
    141                 return std::make_pair(0, std::numeric_limits<int>::max());
     141                return std::make_pair(0, INT_MAX);
    142142        }
    143143    }
     
    152152        }
    153153        return minAltLength;
    154     }
    155     else if (Seq * seq = dyn_cast<Seq>(re)) {
     154    } else if (Seq * seq = dyn_cast<Seq>(re)) {
    156155        int minSeqLength = 0;
    157156        for (RE * re : *seq) {
     
    159158        }
    160159        return minSeqLength;
    161     }
    162     else if (Rep * rep = dyn_cast<Rep>(re)) {
     160    } else if (Rep * rep = dyn_cast<Rep>(re)) {
    163161        if (rep->getLB() == 0) return 0;
    164162        else return (rep->getLB()) * minMatchLength(rep->getRE());
    165     }
    166     else if (isa<Assertion>(re)) {
     163    } else if (isa<Assertion>(re)) {
    167164        return 0;
    168     }
    169     else if (Diff * diff = dyn_cast<Diff>(re)) {
     165    } else if (Diff * diff = dyn_cast<Diff>(re)) {
    170166        return minMatchLength(diff->getLH());
    171     }
    172     else if (Intersect * e = dyn_cast<Intersect>(re)) {
     167    } else if (Intersect * e = dyn_cast<Intersect>(re)) {
    173168        return std::min(minMatchLength(e->getLH()), minMatchLength(e->getRH()));
    174     }
    175     else if (isa<Any>(re)) {
     169    } else if (isa<Any>(re)) {
    176170        return 1;
    177171    } else if (const Name * n = dyn_cast<Name>(re)) {
Note: See TracChangeset for help on using the changeset viewer.