search for: opstatus

Displaying 10 results from an estimated 10 matches for "opstatus".

2007 Aug 18
1
[LLVMdev] Soft floating point support
This patch supplies software IEEE floating point support. The comment from the patch reproduced below says all there is to say. This patch contains the prior "cleanup" patch; please don't apply that one. Please let me know of any bugs. It is tested reasonably well, but until I put together random tests it's hard to have 100% confidence. Neil. /* A self-contained host- and
2008 Jan 23
4
[LLVMdev] Complex constant expressions?
...ry-sized APFloats to arbitrary-sized APInts isn't quite as >> easy. >> > > APFloat::convertToInteger does just this. Why can't you use it? > Well, I may be using it wrong. But looking at APFloat.h, I see four functions that purport to convert to integer: opStatus convertToInteger(integerPart *, unsigned int, bool, roundingMode) const; opStatus convertFromSignExtendedInteger(const integerPart *, unsigned int, bool, roundingMode); opStatus convertFromZeroExtendedInteger(const integerPart *...
2008 Jan 23
0
[LLVMdev] Complex constant expressions?
Talin wrote:- > Well, I may be using it wrong. But looking at APFloat.h, I see four > functions that purport to convert to integer: > > opStatus convertToInteger(integerPart *, unsigned int, bool, > roundingMode) const; > opStatus convertFromSignExtendedInteger(const integerPart *, > unsigned int, > bool, roundingMode); > opStatus convertFromZeroExtendedIn...
2008 Jan 22
0
[LLVMdev] Complex constant expressions?
Talin wrote:- > On the other hand, writing an interpreter means duplicating a lot of > the functionality that's already in LLVM. For example, consider just > the problem of float to int conversions: > > char B[ (int)3.0 ]; > > Generating code for this is relatively simple; Converting > arbitrary-sized APFloats to arbitrary-sized APInts isn't quite as >
2008 Jan 24
2
[LLVMdev] Complex constant expressions?
Neil Booth wrote: > Talin wrote:- > >> Well, I may be using it wrong. But looking at APFloat.h, I see four >> functions that purport to convert to integer: >> >> opStatus convertToInteger(integerPart *, unsigned int, bool, >> roundingMode) const; >> opStatus convertFromSignExtendedInteger(const integerPart *, >> unsigned int, >> bool, roundingMode); >> opStatus conve...
2008 Jan 22
5
[LLVMdev] Complex constant expressions?
More questions on the best way to write a compiler using LLVM: Lets say I have a struct definition that looks like this: const int imageSize = 77; struct A { char B[align(imageSize)]; } ...where 'imageSize' is some small inline function that rounds up to a power of two or something. (A common requirement for textures on 3d graphics cards.) Now, clearly the compiler
2014 Sep 19
2
[LLVMdev] More careful treatment of floating point exceptions
Hi Sanjay, Thanks, I saw this flag and it's definitely should be considered, but it appeared to me to be static characteristic of target platform. I'm not sure how appropriate it would be to change its value from a front-end. It says "Has", while optional flag would rather say "Uses" meaning that implementation cares about floating point exceptions. Regards, Sergey
2014 Sep 25
2
[LLVMdev] More careful treatment of floating point exceptions
...SDValue N1, SDValue N2, bool nuw, bool nsw, bool exact); + /// Checks whether it's safe to replace floating point operation with it's + /// result. UnsafeOps is bit mask of unacceptable exceptions. + bool isSafeToOptimizeFPOp(APFloat::opStatus s, + APFloat::opStatus UnsafeOps) const; + /// VTList - List of non-single value types. FoldingSet<SDVTListNode> VTListMap; diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index e2ead47..d5dd0eb 100644 --- a...
2007 Sep 22
0
[LLVMdev] APFloat storage complications
...upport/APFloat.cpp (revision 42219) +++ lib/Support/APFloat.cpp (working copy) @@ -1318,39 +1318,44 @@ APFloat::convert(const fltSemantics &toSemantics, roundingMode rounding_mode) { - unsigned int newPartCount; + lostFraction lostFraction; + unsigned int newPartCount, oldPartCount; opStatus fs; - + + lostFraction = lfExactlyZero; newPartCount = partCountForBits(toSemantics.precision + 1); + oldPartCount = partCount(); - /* If our new form is wider, re-allocate our bit pattern into wider - storage. - If we're narrowing from multiple words to 1 words, copy to the s...
2008 Feb 17
1
[LLVMdev] llvm 2.2 build problems
...vm[1]: Building Release Archive Library libLLVMSystem.a llvm[1]: Compiling APFloat.cpp for Release build APFloat.cpp: In constructor 'llvm::APFloat::APFloat(const llvm::fltSemantics&, const char*)': APFloat.cpp:680: warning: control may reach end of non-void function 'llvm::APFloat::opStatus llvm::APFloat::convertFromString(const char*, llvm::APFloat::roundingMode)' being inlined llvm[1]: Compiling APInt.cpp for Release build llvm[1]: Compiling Allocator.cpp for Release build llvm[1]: Compiling Annotation.cpp for Release build llvm[1]: Compiling CommandLine.cpp for Release build ll...