[PATCH] D35471: [Polly] [RFC] Calculate AST expression type
Siddharth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 29 08:27:13 PDT 2017
bollu added inline comments.
================
Comment at: lib/CodeGen/PPCGCodeGeneration.cpp:1029
+ ExprBuilder.setFixedSizeMode(true);
Value *NumElements = ExprBuilder.create(Res);
----------------
Can we create a wrapper that does this? Example,
```lang=cpp
template<typename FTy>
auto scopeFixedSizeMode(FTy F, IslExprBuilder &ExprBuilder) -> decltype(FTy()) typename std::enable_if<!std::is_same<decltype(std::declval<FTy>()()), void>::value,
decltype(std::declval<FTy>()())>::type
scopedFixedSizeMode(FTy F) {
ExprBuilder.setBuildMode(true);
auto Ret = F();
ExprBuilder.setBuildMode(false);
return Ret;
}
template <typename FTy>
typename std::enable_if<std::is_same<decltype(std::declval<FTy>()()), void>::value, void>::type
scopedFixedSizeMode(FTy F) {
ExprBuilder.setBuildMode(true);
F();
ExprBuilder.setBuildMode(false);
}
```
The wrapper right now is crazy, but there has to be a way for this to be more "canonical".
https://reviews.llvm.org/D35471
More information about the llvm-commits
mailing list