Page MenuHomePhabricator

[BasicAA] Teach BasicAA about GEP variable index ranges.
Needs ReviewPublic

Authored by courbet on Mar 24 2021, 2:09 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Note that this is not as complete as what SCEV can do, but it's fast,
and it's enough for the common case, which is clang setting !range
metadata on array subscript indices.

Diff Detail

Unit TestsFailed

TimeTest
30 msx64 debian > LLVM.Analysis/BasicAA::range.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/opt < /mnt/disks/ssd0/agent/llvm-project/llvm/test/Analysis/BasicAA/range.ll -basic-aa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/Analysis/BasicAA/range.ll
40 msx64 windows > LLVM.Analysis/BasicAA::range.ll
Script: -- : 'RUN: at line 1'; c:\ws\w16n2-1\llvm-project\premerge-checks\build\bin\opt.exe < C:\ws\w16n2-1\llvm-project\premerge-checks\llvm\test\Analysis\BasicAA\range.ll -basic-aa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | c:\ws\w16n2-1\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w16n2-1\llvm-project\premerge-checks\llvm\test\Analysis\BasicAA\range.ll

Event Timeline

courbet created this revision.Mar 24 2021, 2:09 AM
courbet requested review of this revision.Mar 24 2021, 2:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 24 2021, 2:09 AM
courbet updated this revision to Diff 333284.Mar 25 2021, 6:28 AM

Add more proposals for representing the range data.

fhahn added a subscriber: fhahn.Mar 25 2021, 8:17 AM