Class IRBuilderBase has now RAII class that helps to restore floating
point options, including default rounding and exceptions modes.
Details
- Reviewers
rjmccall kpn andrew.w.kaylor
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 36591 Build 36590: arc lint + arc unit
Event Timeline
| llvm/include/llvm/IR/IntrinsicInst.h | ||
|---|---|---|
| 220 | What does this change give us? Having rmDynamic == 0 means that if a bug causes it to be zero initialized we get the most conservative behavior from the compiler. What's the tradeoff? And where is this change tested? | |
| llvm/include/llvm/IR/IntrinsicInst.h | ||
|---|---|---|
| 220 | The intention was to have zero value as the default for RoundingMode, which is used when no constrained operation required. ExceptionBehavior does this: ebIgnore means no special exception behavior is requested. In this case non-zero value indicates that we have to process operation in a special way. This change is a matter of convenience, it isn't strictly necessary for this patch. If you think it shouldn't go to sources, i'll remove it. | |
| llvm/include/llvm/IR/IntrinsicInst.h | ||
|---|---|---|
| 220 | Yeah, we're inconsistent. I'd like to resolve that inconsistency another day. Please remove this change. | |
| llvm/include/llvm/IR/IntrinsicInst.h | ||
|---|---|---|
| 220 | OK, remove it. | |
What does this change give us? Having rmDynamic == 0 means that if a bug causes it to be zero initialized we get the most conservative behavior from the compiler. What's the tradeoff? And where is this change tested?