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...