Displaying 16 results from an estimated 16 matches for "0x7fffffffffffffff".
2014 Oct 31
3
[LLVMdev] Large constants in patchpoints
...ently llvm crashes on following code, run through llc:
declare void @llvm.experimental.stackmap(i64, i32, ...)
define void @foo() {
tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 0,
i32 0, i64 9223372036854775807)
ret void
}
The issue is that 9223372036854775807 (decimal for 0x7fffffffffffffff)
is the "empty key" for an int64_t, and in
StackMaps::recordStackMapOpers we crash when we try to insert this as
a key into ConstPool. The this happens if we change the constant to
be the tombstone.
Two potential fixes I can think of:
1. have some special logic to remember the offsets...
2009 Mar 05
2
[LLVMdev] visitBIT_CONVERT (previous Shouldn't DAGCombine insert legal nodes?)
Hello,
In the combine 2 step (after legalization), in the DAGCombiner::visitBIT_CONVERT() method, the DAG combiner is replacing an FABS followed by a BIT_CONVERT, to a BIT_CONVERT followed by an AND 0x7FFFFFFFFFFFFFFF. Everything is 64 bit.
On my target, FABS and BIT_CONVERT are legal in 64 bit, but AND in not legal in 64 bit (is declared custom). So the dag combiner is introducing illegal (not legal) nodes that generates an abort during the machine instruction selection.
In my understanding, this is a bug becau...
2009 Mar 05
0
[LLVMdev] visitBIT_CONVERT (previous Shouldn't DAGCombine insert legal nodes?)
Hi Gabriele,
> In the combine 2 step (after legalization), in the DAGCombiner::visitBIT_CONVERT() method, the DAG combiner is replacing an FABS followed by a BIT_CONVERT, to a BIT_CONVERT followed by an AND 0x7FFFFFFFFFFFFFFF. Everything is 64 bit.
> On my target, FABS and BIT_CONVERT are legal in 64 bit, but AND in not legal in 64 bit (is declared custom). So the dag combiner is introducing illegal (not legal) nodes that generates an abort during the machine instruction selection.
> In my understanding, this is a...
2009 Mar 10
2
[LLVMdev] visitBIT_CONVERT (previous Shouldn't DAGCombine insert legal nodes?)
...few glue nodes, making the final DAG more complex than before the combine step. This makes no sense.
I plan to solve this problem by doing the reverse operation the combiner did. During selection (in SelectionDAGISel::Select()), I check for the node pattern having a i64 AND between an i64 constant 0x7FFFFFFFFFFFFFFF and a bit_convert, and I replace this by a fabs and a bit_convert node. In this way, this portion of the DAG will look as before the "combine 2" step. I think this is not so far from what Michel suggested.
Have I to make a bug report ?
Is there any predictable order on which all nodes are...
2004 Jul 15
2
[LLVMdev] Constants.cpp:368: error: `INT8_MAX' undeclared(firstuse this function)
...X_C_SOURCE) \
&& !defined(_XOPEN_SOURCE)
/*
* Minimum and maximum values for 64-bit types
* Define all the various well-known flavors of symbols
*
*/
#define ULLONG_MAX ((u_quad_t)0-1) /* 0xffffffffffffffff */
#define LLONG_MAX ((quad_t)(ULLONG_MAX>>1)) /* 0x7fffffffffffffff */
#define LLONG_MIN ((quad_t)((-LLONG_MAX)-1)) /* 0x8000000000000000 */
#define LONG_LONG_MIN LLONG_MIN
#define LONG_LONG_MAX LLONG_MAX
#define ULONG_LONG_MAX ULLONG_MAX
#define QUAD_MIN LLONG_MIN
#define QUAD_MAX LLONG_MAX
#define UQUAD_MAX ULLONG_MAX
...
--- /usr/include/limit...
2009 Jan 20
2
[LLVMdev] Shouldn't DAGCombine insert legal nodes?
Duncan:
DAGCombine is inserting an IllegalOperation after target-specific
instruction legalization has occurred. I'm inserting the fabs and the
bitconvert during instruction legalization; DAGCombine is converting
the fabs/bitconvert to an 'and' on its second (third?) pass.
-scooter
On Jan 20, 2009, at 12:24 AM, Duncan Sands wrote:
> On Tuesday 20 January 2009 07:52:37
2009 Feb 05
1
Question about mount.cifs and smbclient
...ags: 64
fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: 8691570 with uid: 0
fs/cifs/connect.c: Domain name set
fs/cifs/connect.c: Username: $USER
fs/cifs/connect.c: UNC: \\$SERVER\vobstg ip: 10.20.30.40
fs/cifs/connect.c: Socket created
fs/cifs/connect.c: sndbuf 16384 rcvbuf 87380 rcvtimeo 0x7fffffffffffffff
fs/cifs/connect.c: Demultiplex PID: 30898
fs/cifs/connect.c: Existing smb sess not found
fs/cifs/cifssmb.c: secFlags 0x7
fs/cifs/transport.c: For smb_command 114
fs/cifs/transport.c: Sending smb of length 78
fs/cifs/connect.c: rfc1002 length 0x65
fs/cifs/cifssmb.c: Dialect: 2
fs/cifs/cifssm...
2009 Jan 26
2
[LLVMdev] DAGCombiner rant
...ofar as feasible. Think twice before
adding a new pseudo-instruction: it prevents DAGCombiner optimizations and
sometimes DAGcombiner will unintentionally work around your operation
legalizations in unexpected ways (i.e., transforming (fabs:f64 arg) to
(bitconvert:f64 (and:i64 (bitconvert:i64 arg), 0x7fffffffffffffff)))
(b) If you add new pseudo-instructions (i.e., target-specific nodes in your
ISelLowering source), make sure you know how to PerformDAGCombine. If
there's no possible way to do PerformDAGCombine on your new
pseudo-instructions, see (a).
(c) If at all possible, handle target-specific instruc...
2004 Jul 14
0
[LLVMdev] Constants.cpp:368: error: `INT8_MAX' undeclared(firstuse this function)
...X_C_SOURCE) \
&& !defined(_XOPEN_SOURCE)
/*
* Minimum and maximum values for 64-bit types
* Define all the various well-known flavors of symbols
*
*/
#define ULLONG_MAX ((u_quad_t)0-1) /* 0xffffffffffffffff */
#define LLONG_MAX ((quad_t)(ULLONG_MAX>>1)) /* 0x7fffffffffffffff */
#define LLONG_MIN ((quad_t)((-LLONG_MAX)-1)) /* 0x8000000000000000 */
#define LONG_LONG_MIN LLONG_MIN
#define LONG_LONG_MAX LLONG_MAX
#define ULONG_LONG_MAX ULLONG_MAX
#define QUAD_MIN LLONG_MIN
#define QUAD_MAX LLONG_MAX
#define UQUAD_MAX ULLONG_MAX
...
--- /usr/include/limit...
2009 Mar 10
0
[LLVMdev] visitBIT_CONVERT (previous Shouldn't DAGCombine insert legal nodes?)
...glue nodes, making the final DAG more complex than before the combine step. This makes no sense.
> I plan to solve this problem by doing the reverse operation the combiner did. During selection (in SelectionDAGISel::Select()), I check for the node pattern having a i64 AND between an i64 constant 0x7FFFFFFFFFFFFFFF and a bit_convert, and I replace this by a fabs and a bit_convert node. In this way, this portion of the DAG will look as before the "combine 2" step. I think this is not so far from what Michel suggested.
how about this instead: modify the DAGCombiner so that before operations
have been...
2004 Jul 15
0
[LLVMdev] Constants.cpp:368: error: `INT8_MAX' undeclared(firstuse this function)
...!defined(_XOPEN_SOURCE)
> /*
> * Minimum and maximum values for 64-bit types
> * Define all the various well-known flavors of symbols
> *
> */
> #define ULLONG_MAX ((u_quad_t)0-1) /* 0xffffffffffffffff */
> #define LLONG_MAX ((quad_t)(ULLONG_MAX>>1)) /* 0x7fffffffffffffff */
> #define LLONG_MIN ((quad_t)((-LLONG_MAX)-1)) /* 0x8000000000000000 */
>
>
> #define LONG_LONG_MIN LLONG_MIN
> #define LONG_LONG_MAX LLONG_MAX
> #define ULONG_LONG_MAX ULLONG_MAX
>
>
> #define QUAD_MIN LLONG_MIN
> #define QUAD_MAX LLONG_MAX
> #defi...
2009 Jan 28
0
[LLVMdev] DAGCombiner rant
...e before adding a new pseudo-instruction: it prevents
> DAGCombiner optimizations and sometimes DAGcombiner will
> unintentionally work around your operation legalizations in
> unexpected ways (i.e., transforming (fabs:f64 arg) to
> (bitconvert:f64 (and:i64 (bitconvert:i64 arg), 0x7fffffffffffffff)))
>
> (b) If you add new pseudo-instructions (i.e., target-specific nodes
> in your ISelLowering source), make sure you know how to
> PerformDAGCombine. If there's no possible way to do
> PerformDAGCombine on your new pseudo-instructions, see (a).
>
> (c) If at all...
2019 Sep 23
2
[PATCH nbdkit v2] server: public: Add nbdkit_parse_* functions for safely parsing integers.
...t32_t, "%" PRIu32, "0x100000000", BAD);
+ PARSE (uint32_t, "%" PRIu32, "-1", BAD);
+
+ /* Test nbdkit_parse_int64_t. */
+ PARSE (int64_t, "%" PRIi64, "0", OK, 0);
+ PARSE (int64_t, "%" PRIi64, "0x7fffffffffffffff", OK, 0x7fffffffffffffff);
+ PARSE (int64_t, "%" PRIi64, "-0x8000000000000000", OK, -0x8000000000000000);
+ PARSE (int64_t, "%" PRIi64, "0x8000000000000000", BAD);
+ PARSE (int64_t, "%" PRIi64, "-0x8000000000000001", BAD);
+
+ /...
2019 Sep 23
2
Re: [PATCH nbdkit] server: public: Add nbdkit_parse_* functions for safely parsing integers.
On Mon, Sep 23, 2019 at 12:05:11PM -0500, Eric Blake wrote:
> > + int nbdkit_parse_long (const char *what, const char *str, long *r);
> > + int nbdkit_parse_unsigned_long (const char *what,
> > + const char *str, unsigned long *r);
>
> Do we really want to encourage the use of parse_long and
> parse_unsigned_long? Those differ between
2019 Sep 21
2
[PATCH nbdkit] server: public: Add nbdkit_parse_* functions for safely parsing integers.
..."%" PRIu32, "0x100000000", BAD, 0);
+ PARSE (uint32_t, "%" PRIu32, "-1", BAD, 0);
+
+ /* Test nbdkit_parse_int64_t. */
+ PARSE (int64_t, "%" PRIi64, "0", OK, 0);
+ PARSE (int64_t, "%" PRIi64, "0x7fffffffffffffff", OK, 0x7fffffffffffffff);
+ PARSE (int64_t, "%" PRIi64, "-0x8000000000000000", OK, -0x8000000000000000);
+ PARSE (int64_t, "%" PRIi64, "0x8000000000000000", BAD, 0);
+ PARSE (int64_t, "%" PRIi64, "-0x8000000000000001", BAD, 0);...
2001 Jul 16
0
No subject
...lcrypto 1>&5
configure: failed program was:
#line 5577 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <string.h>
#ifdef HAVE_SNPRINTF
main()
{
char buf[50];
char expected_out[50];
int mazsize = 50 ;
#if (SIZEOF_LONG_INT == 8)
long int num = 0x7fffffffffffffff;
#else
long long num = 0x7fffffffffffffff;
#endif
strcpy(expected_out, "9223372036854775807");
snprintf(buf, mazsize, "%lld", num);
if(strcmp(buf, expected_out) != 0)
exit(1);
exit(0);
}
#else
main() { exit(0); }
#endif
configure:5628: checking for ut_host field...