summaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-11-21 13:57:40 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-11-21 13:57:40 +0000
commitb05e02332f86e3168b96708263a88ec8f07c5e5a (patch)
tree8e642d44a66bc1192bf5b9d678473043c95ac1e7 /gcc/tree-vectorizer.h
parent32f9be169ca3c5e1c56735c8b1e076570d56389c (diff)
downloadgcc-b05e02332f86e3168b96708263a88ec8f07c5e5a.tar.gz
tree-vectorizer.h (LOC, [...]): Remove wrappers and fix all users.
2013-11-21 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): Remove wrappers and fix all users. (struct _loop_vec_info): Remove loop_line_number member. (LOOP_VINFO_LOC): Remove. * tree-parloops.c, tree-vect-loop-manip.c, tree-vect-slp.c, tree-vectorizer.c: Fix users of LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE and LOC_LINE. From-SVN: r205216
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 1297fab6cfe..23c4d88beb3 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -25,12 +25,6 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "hash-table.h"
-typedef source_location LOC;
-#define UNKNOWN_LOC UNKNOWN_LOCATION
-#define EXPR_LOC(e) EXPR_LOCATION (e)
-#define LOC_FILE(l) LOCATION_FILE (l)
-#define LOC_LINE(l) LOCATION_LINE (l)
-
/* Used for naming of new temporaries. */
enum vect_var_kind {
vect_simple_var,
@@ -273,9 +267,6 @@ typedef struct _loop_vec_info {
/* Unrolling factor */
int vectorization_factor;
- /* The loop location in the source. */
- LOC loop_line_number;
-
/* Unknown DRs according to which loop was peeled. */
struct data_reference *unaligned_dr;
@@ -343,6 +334,10 @@ typedef struct _loop_vec_info {
this. */
bool peeling_for_gaps;
+ /* When the number of iterations is not a multiple of the vector size
+ we need to peel off iterations at the end to form an epilogue loop. */
+ bool peeling_for_niter;
+
/* Reductions are canonicalized so that the last operand is the reduction
operand. If this places a constant into RHS1, this decanonicalizes
GIMPLE for other phases, so we must track when this has occurred and
@@ -369,7 +364,6 @@ typedef struct _loop_vec_info {
#define LOOP_PEELING_FOR_ALIGNMENT(L) (L)->peeling_for_alignment
#define LOOP_VINFO_UNALIGNED_DR(L) (L)->unaligned_dr
#define LOOP_VINFO_MAY_MISALIGN_STMTS(L) (L)->may_misalign_stmts
-#define LOOP_VINFO_LOC(L) (L)->loop_line_number
#define LOOP_VINFO_MAY_ALIAS_DDRS(L) (L)->may_alias_ddrs
#define LOOP_VINFO_COMP_ALIAS_DDRS(L) (L)->comp_alias_ddrs
#define LOOP_VINFO_GROUPED_STORES(L) (L)->grouped_stores
@@ -925,7 +919,7 @@ unlimited_cost_model ()
}
/* Source location */
-extern LOC vect_location;
+extern source_location vect_location;
/*-----------------------------------------------------------------*/
/* Function prototypes. */
@@ -941,7 +935,7 @@ extern void vect_do_peeling_for_loop_bound (loop_vec_info, tree, tree,
unsigned int, bool);
extern void vect_do_peeling_for_alignment (loop_vec_info, tree,
unsigned int, bool);
-extern LOC find_loop_location (struct loop *);
+extern source_location find_loop_location (struct loop *);
extern bool vect_can_advance_ivs_p (loop_vec_info);
/* In tree-vect-stmts.c. */
@@ -1072,7 +1066,7 @@ extern void vect_detect_hybrid_slp (loop_vec_info);
extern void vect_get_slp_defs (vec<tree> , slp_tree,
vec<vec<tree> > *, int);
-extern LOC find_bb_location (basic_block);
+extern source_location find_bb_location (basic_block);
extern bb_vec_info vect_slp_analyze_bb (basic_block);
extern void vect_slp_transform_bb (basic_block);