diff mbox series

[1/6] Ranger patches.

Message ID 91a2a52a-6963-69f0-8e8b-9b47bc264138@redhat.com
State New
Headers show
Series [1/6] Ranger patches. | expand

Commit Message

Andrew MacLeod Oct. 2, 2020, 4:58 p.m. UTC
This patch set contains the various components that make up a ranger.

Ranger files are prefixed by   "gimple-range".

gimple-range-cache.{h,cc} :   Various caches used by the ranger.
gimple-range-edge.{h,cc} :    Outgoing edge range calculations, 
particularly switch edge ranges.
gimple-range-gori.{h,cc} :     "Generate Outgoing Range Info" module 
which calculates ranges on exit to basic blocks.
gimple-range.{h,cc} :             gimple_ranger which pulls together the 
other components and provides on-demand ranges.


These are pretty much self contained and do not require changing any 
other files.

Consumers need only include "gimple-range.h"   and then invoke a ranger 
for use within the pass

gimple_ranger ranger;
<..>
  if (ranger.range_of_expr (r, name, stmt))
     use_range (r);

Follow on patches from Aldy will convert some of the passes will better 
demonstrate usage once we're in and running.

I plan to update the documentation over the next couple of weeks.

I will let these patches sit here for a few days, and barring any 
issues, will then commit them early next week.


Andrew
diff mbox series

Patch


	* Makefile.in (OBJS): Add gimple-range*.o.

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 50d6c83eb76..5a8fb0d7612 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1369,6 +1369,10 @@  OBJS = \
 	gimple-loop-versioning.o \
 	gimple-low.o \
 	gimple-pretty-print.o \
+	gimple-range.o \
+	gimple-range-cache.o \
+	gimple-range-edge.o \
+	gimple-range-gori.o \
 	gimple-ssa-backprop.o \
 	gimple-ssa-evrp.o \
 	gimple-ssa-evrp-analyze.o \