This commit implements a mapping from isl_ast_node_for ast nodes to
their original LLVM Loop* structures. The mapping is done based on
the dimension that moves in the innermost isl for loop. Each moving
dimension in the new innermost loop is mapped back to a (set of)
llvm loops that correspond to that original dimension.
The primary motivation for the mapping is to enable polly to read
the LLVM metadata associated with the loop and use that metadata to
drive the polly vectorizer.
@grosser Do you have a good idea how we can spot and react when the isl AST creation removes dimensions?