Lines Matching refs:llvm

19 #include "llvm/ADT/FoldingSet.h"
20 #include "llvm/ADT/ImmutableSet.h"
21 #include "llvm/Support/Debug.h"
22 #include "llvm/Support/raw_ostream.h"
31 class Range : public std::pair<const llvm::APSInt*,
32 const llvm::APSInt*> {
34 Range(const llvm::APSInt &from, const llvm::APSInt &to)
35 : std::pair<const llvm::APSInt*, const llvm::APSInt*>(&from, &to) {
38 bool Includes(const llvm::APSInt &v) const {
41 const llvm::APSInt &From() const {
44 const llvm::APSInt &To() const {
47 const llvm::APSInt *getConcreteValue() const {
51 void Profile(llvm::FoldingSetNodeID &ID) const {
58 class RangeTrait : public llvm::ImutContainerInfo<Range> {
74 typedef llvm::ImmutableSet<Range, RangeTrait> PrimRangeSet;
90 RangeSet(Factory &F, const llvm::APSInt &from, const llvm::APSInt &to)
95 void Profile(llvm::FoldingSetNodeID &ID) const { ranges.Profile(ID); }
100 const llvm::APSInt* getConcreteValue() const {
106 const llvm::APSInt &Lower,
107 const llvm::APSInt &Upper,
144 const llvm::APSInt &getMinValue() const {
149 bool pin(llvm::APSInt &Lower, llvm::APSInt &Upper) const {
239 llvm::APSInt Lower, llvm::APSInt Upper) const {
292 const llvm::APSInt& Int,
293 const llvm::APSInt& Adjustment) override;
296 const llvm::APSInt& Int,
297 const llvm::APSInt& Adjustment) override;
300 const llvm::APSInt& Int,
301 const llvm::APSInt& Adjustment) override;
304 const llvm::APSInt& Int,
305 const llvm::APSInt& Adjustment) override;
308 const llvm::APSInt& Int,
309 const llvm::APSInt& Adjustment) override;
312 const llvm::APSInt& Int,
313 const llvm::APSInt& Adjustment) override;
315 const llvm::APSInt* getSymVal(ProgramStateRef St,
336 const llvm::APSInt* RangeConstraintManager::getSymVal(ProgramStateRef St,
351 if (const llvm::APSInt *Value = Ranges->getConcreteValue())
356 llvm::APSInt Zero = IntType.getZeroValue();
420 const llvm::APSInt &Int,
421 const llvm::APSInt &Adjustment) {
427 llvm::APSInt Lower = AdjustmentType.convert(Int) - Adjustment;
428 llvm::APSInt Upper = Lower;
440 const llvm::APSInt &Int,
441 const llvm::APSInt &Adjustment) {
448 llvm::APSInt AdjInt = AdjustmentType.convert(Int) - Adjustment;
455 const llvm::APSInt &Int,
456 const llvm::APSInt &Adjustment) {
469 llvm::APSInt ComparisonVal = AdjustmentType.convert(Int);
470 llvm::APSInt Min = AdjustmentType.getMinValue();
474 llvm::APSInt Lower = Min-Adjustment;
475 llvm::APSInt Upper = ComparisonVal-Adjustment;
484 const llvm::APSInt &Int,
485 const llvm::APSInt &Adjustment) {
498 llvm::APSInt ComparisonVal = AdjustmentType.convert(Int);
499 llvm::APSInt Max = AdjustmentType.getMaxValue();
503 llvm::APSInt Lower = ComparisonVal-Adjustment;
504 llvm::APSInt Upper = Max-Adjustment;
513 const llvm::APSInt &Int,
514 const llvm::APSInt &Adjustment) {
527 llvm::APSInt ComparisonVal = AdjustmentType.convert(Int);
528 llvm::APSInt Min = AdjustmentType.getMinValue();
532 llvm::APSInt Max = AdjustmentType.getMaxValue();
533 llvm::APSInt Lower = ComparisonVal-Adjustment;
534 llvm::APSInt Upper = Max-Adjustment;
542 const llvm::APSInt &Int,
543 const llvm::APSInt &Adjustment) {
556 llvm::APSInt ComparisonVal = AdjustmentType.convert(Int);
557 llvm::APSInt Max = AdjustmentType.getMaxValue();
561 llvm::APSInt Min = AdjustmentType.getMinValue();
562 llvm::APSInt Lower = Min-Adjustment;
563 llvm::APSInt Upper = ComparisonVal-Adjustment;