diff options
| author | Owen Anderson <resistor@mac.com> | 2016-03-01 19:35:52 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2016-03-01 19:35:52 +0000 |
| commit | 7ea02fc7879ccfa9aba47c0dec7d57e8fbeb3b9e (patch) | |
| tree | b70ac649bf2480bdf65e8c49174eed1bd09fae7c /llvm/include | |
| parent | b3a7935d549c1d73729a4666ec6133e80658ce34 (diff) | |
| download | bcm5719-llvm-7ea02fc7879ccfa9aba47c0dec7d57e8fbeb3b9e.tar.gz bcm5719-llvm-7ea02fc7879ccfa9aba47c0dec7d57e8fbeb3b9e.zip | |
Fix an issue where fast math flags were dropped during scalarization.
Most portions of InstCombine properly propagate fast math flags, but
apparently the vector scalarization section was overlooked.
llvm-svn: 262376
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/IR/InstrTypes.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/InstrTypes.h b/llvm/include/llvm/IR/InstrTypes.h index 5091bb40783..ef86eba8135 100644 --- a/llvm/include/llvm/IR/InstrTypes.h +++ b/llvm/include/llvm/IR/InstrTypes.h @@ -386,6 +386,15 @@ public: } #include "llvm/IR/Instruction.def" + static BinaryOperator *CreateWithCopiedFlags(BinaryOps Opc, + Value *V1, Value *V2, + BinaryOperator *CopyBO, + const Twine &Name = "") { + BinaryOperator *BO = Create(Opc, V1, V2, Name); + BO->copyIRFlags(CopyBO); + return BO; + } + static BinaryOperator *CreateNSW(BinaryOps Opc, Value *V1, Value *V2, const Twine &Name = "") { BinaryOperator *BO = Create(Opc, V1, V2, Name); |

