return m_cache.const_query ();
}
+// Implement range of EXPR on stmt S, and return it in R.
+// Return false if no range can be calculated.
+
bool
gimple_ranger::range_of_expr (vrange &r, tree expr, gimple *stmt)
{
fputs ("\n", dump_file);
}
- // If there is no statement, just get the global value.
- if (!stmt)
+ // If there is no statement or stmt happens to be not in the IL,
+ // just get the global value.
+ if (!stmt || !gimple_bb (stmt))
{
value_range tmp (TREE_TYPE (expr));
// If there is no global range for EXPR yet, try to evaluate it.
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=armv8.3-a+sve2" { target aarch64-*-* } } */
+
+unsigned char *begin(unsigned char *out)
+{
+ int size_0_0_0;
+ unsigned char *kRow = begin(out);
+ unsigned char *currentRow = kRow;
+ for (int x = 0; x < size_0_0_0; ++x) {
+ char k = kRow ? kRow[x] : 5;
+ out[2] = currentRow[2] * k / 255;
+ }
+ return out;
+}