search for: provably

Displaying 20 results from an estimated 183 matches for "provably".

Did you mean: probably
2003 Dec 09
4
was FXO cards
...ary, and more crap to break, set up, and buy. DIalogic 4 and 12 port cards are expensive. The 12 port prohibitively so, so I think I would be better off getting 2 of the 4 port cards. I have found them for <900$ apiece on ebay. That compairs as: Case 1 Channel bank Asterisk box: 500$ (provably less than this, as it is a minimal machine) T100P card: 500$ Channel Bank 600$ (actually, from what I can find, provably more like 1000$ before I am done) Phones: I am going to go with the Mitel Networks 5055, they are about 400$ apiece. Total: 1600$ for the setup (to 2000$) + 2000K for 5 phones...
2002 Jun 22
1
Provably Fixing the SSH Binary Packet Protocol
Hey, Are there any plans in applying the changes suggested in "Provably Fixing the SSH Binary Packet Protocol" by Mihir Bellare, Tadayoshi Kohno and Chanathip Namprempre. http://eprint.iacr.org/2002/078/ I guess this would require a new protocol specification and maybe the task of the IETF Secure Shell Working Group. Dries -- Dries Schellekens email: gwyllion...
2017 Sep 25
4
DH Group Exchange Fallback
On 25 September 2017 at 02:32, Mark D. Baushke <mdb at juniper.net> wrote: > [+CC Loganaden Velvindron <logan at hackers.mu>] primary author of > the RFC 4419 refresh draft. https://datatracker.ietf.org/doc/draft-lvelvindron-curdle-dh-group-exchange/ ? Tangent: has any consideration been given to increasing the maximum allowed beyond 8192 bits (which is below the current NIST
2014 Jun 11
2
[LLVMdev] -instcombine introduces "undef" values to the IR.
...ce "undef" to the previously >> undef-clean .ll file ... is it always safe to use -instcombine as one of >> the preprocessing pass? Thanks. >> > > Yes, there's all manner of weird corner cases where it will. PHI nodes > that are cyclic and therefore dead, a provably invalid call to a library > function (sqrt negative), shift operations that provably shift out of > bounds, ... often it inserts a store to undef to indicate that the code is > unreachable (an unreachable instruction is a terminator instruction and > therefore inserting it would modify...
2017 Apr 08
5
Spurious cast warning for C++?
How difficult would it be to add a warning to Clang when the programmer performs a cast that provably has no effect? A particular case I have in mind is someone getting confused and calling std::move on an argument to a copy-constructor for a class that doesn't implement move semantics. I would be grateful if someone either (1) told me why this is difficult/impossible, or (2) gave me some poi...
2014 Jun 11
2
[LLVMdev] -instcombine introduces "undef" values to the IR.
Hi Fellows, If a .ll file contains no "undef"'s, does it necessarily mean that every value is properly initialized before use in the IR? What confuses me is that I notice that -instcombine can introduce "undef" to the previously undef-clean .ll file ... is it always safe to use -instcombine as one of the preprocessing pass? Thanks. Best, Paul -------------- next
2017 Jun 19
3
beneficial optimization of undef examples needed
...ccurring in IR is if we go out of our way to optimize for example if ( ((i64)X + (i64)Y)) < INT_MIN || ((i64)X) + (i64)Y) > INT_MAX ) { . . . Z = X "+nsw” Y; . . . } Here “Z” could in theory be replaced with “undef”, but there is no point in doing so. Similarly with provably out-of-bounds GEP, similarly with provably invalid pointers, etc, but again there is no point in doing so. So is there any other way of having “undef” appear in the IR ? Peter Lawrence. > On Jun 16, 2017, at 7:45 PM, Sanjoy Das <sanjoy at playingwithpointers.com> wrote: > > H...
2008 Aug 22
1
[LLVMdev] Conditonal to constant promotion?
...osted by Wojciech on the attached test case. The analysis had to fallback to conservatives answers sometimes, probably (but not sure) due to the existence of several select instructions that might prevent the analysis from correctly find the answer. In this specific test case, these selects are provably useless and I am trying to get rid of them either by finding the correct transformation pass or writing/extending an existing one. The instructions I am referring to are in the basic block bb.nph15.split: bb.nph15.split: ; preds = %bb.nph15 %umax26 = select i1 %0, i32 1, i32 %m...
2014 Nov 25
3
[LLVMdev] new set of superoptimizer results
Cool! Looks like we do lots of provably unnecessary alignment checks. :) On Tue, Nov 25, 2014 at 9:03 AM, John Regehr <regehr at cs.utah.edu> wrote: > Actually, let me save you some time by pointing out the thing that is > perhaps immediately useful about our recent work, which is the fact that > Souper now supports &quo...
2008 Oct 23
0
[LLVMdev] Helping the optimizer along (__assume)
...#39;ve looked into an approach like this as well, but it doesn't quite work. My approach wasn't to use an unreachable, but simply a return (IIRC). However, the problems I saw were as follows: * If the optimizers are smart enough to actually verify that your assertion holds (ie, %cond is provably true), the branch is removed alltogether (or at least %cond is simplified and replaced by true). Now, you might say that if the optimizers are smart enough to prove the condition true, they shouldn't need the assertion in the first place. However, it usually requires quite some reaso...
2007 Apr 09
2
[LLVMdev] Register Alias Sets
Anton Vayvod wrote: > Sure, but where these comparisons are needed, for example? RAX and > EAX alias sets intersect and that's enough to decide that these regs > can't be assigned simultaneously. One place these comparisons are used is to build a provably optimal register class tree in a Smith/Ramsey/Holloway allocator. Building it algorithmically is portable to all architectures without requiring the person writing the machine-specific parts to care about what the register allocator does. > In general, that what you would check anyway because...
2018 Jan 26
2
Late setting of SCEV NoWrap flags does bad with cache
...how often this case is): we can have dependency between SCEVs which is not represented in use-list. For example: if ({100,+,1} > -1) { x = a / {1,+,1} } If we prove nsw for the first addrec, it will also imply nsw for the second addrec (because the number of iterations in this loop is provably less than MAX_INT - 99). But there is no clear use-chain dependency between them. So I would rather belive in option 1 as in the most reliable. I'll try to experiment with options 1 and 3 and see where it gets us. Best regards, Max -----Original Message----- From: Sanjoy Das [mailto:sanjoy a...
2016 Oct 20
6
RFC: Killing undef and spreading poison
The fact two IR values are defined the same way doesn't necessarily imply they are actually the same value. e.g. %a = load volatile i32, i32* %p %b = load volatile i32, i32* %p As Sanjoy said, though, it should always be legal to optimize all uses of different "freeze(%x)" values to use the same def - this is equivalent to choosing the same value for all freezes. It's just not
2019 May 29
2
Basic block merging
...ss.CRType*, %LBstd.Cprocess.CRType** %482, align 8 %484 = getelementptr inbounds %LBstd.Cprocess.CRType, %LBstd.Cprocess.CRType* %483, i64 0, i32 3 %485 = bitcast i8** %484 to %LMtop.I0.ARType** store %LMtop.I0.ARType* %0, %LMtop.I0.ARType** %485, align 8 br label %bb_106 These blocks have provably the same function - the instructions of one correspond perfectly to instructions in the other. I would have expected some optimization to detect this, and merge the blocks by forwarding all jumps to one, to jump to the other. I notice a "merge functions" pass, which does this if two fun...
2010 Dec 01
0
[LLVMdev] fixed point types
On Wed, Dec 1, 2010 at 8:11 AM, me22 <me22.ca at gmail.com> wrote: > On Tue, Nov 30, 2010 at 05:48, Jonas Paulsson <jnspaulsson at hotmail.com> wrote: >> May I ask then, what could one expect from various optimizations when using >> intrinsics to support the fixed point type? LTO, Value optimizations, mem ?? >> > > Can you not just lower your fixed-point
2012 Jun 20
0
[LLVMdev] another SCEV surprise
...>   } > } > > void p6(int *A, int *B, long int n) { >   for (int i = 0; i < n; i++) { >     A[i + 2] = i; >     *B++ = A[i]; >   } > } > > > Why the difference? Is there a reason we don't implement all the loops using > 64-bit values? The third loop is provably not an infinite loop, thanks to C's signed overflow rules; we can't tell whether the first two loops might be infinite. -Eli
2016 Jul 13
2
IPRA, interprocedural register allocation, question
...SavedRegs.reset() is ever called (which is rarely to begin with) are for target-specific, calling-conventions-specific reasons, never function-specific. Perhaps I’m looking in the wrong place ? But I think while we both agree that in principle LLVM could “downgrade” a function, Given that it can provably see every call-site to it, it does not seem like this is actually Happening, unless I’m missing something ??? (even if true I’m not claiming we’re missing an important case, I don’t have any Logical arguments either way and don’t have any evidence either way. I’m just Trying to understand what L...
2008 Oct 23
8
[LLVMdev] Helping the optimizer along (__assume)
On 2008-10-22, at 19:24, Mike Stump wrote: > On Oct 22, 2008, at 3:28 PM, Paul Biggar wrote: > >> As part of our PHP compiler (phpcompiler.org), it would be great to >> be able to annotate our generated C code with, for example, (var != >> NULL), or (var->type == STRING), and have that information passed >> around (esp interprocedurally at link-time) by the
2008 Aug 15
1
[LLVMdev] Theoretical grounds of IR.
...t target, can it be proven that the LLVM IR provides the necessary and sufficient abstractions from which optimal code can be generated? Is there a theoretical basis for the constitution of the IR? If I "raise" optimized assembly language code into LLVM IR, is it possible (thoeretically, provably) to generate equal, or more, optimal assembly code from it? Wouldn't this involve some sort of formal representation of the target's architecture and optimization rules? Is there any literature related to this? Thanks a lot in advance! -Mahadevan.
2015 Jan 26
3
[LLVMdev] PBQP crash
...was in the ConservativelyAllocatableNodes set during reduce(). The comment in reduce() "Conservatively allocatable nodes will never spill..." indicates that perhaps this is an incorrect insertion, as the regs did in fact run out in this case. In setup(), the node is first put into not-provably-allocatables. However, one of it's neigbhour invoked handleDisconnectEdge(), and moves it into conservatively-allocatables, because DeniedOpts had become less than NumOpts (in isConservativelyAllocatable(). * There are lots of spillable nodes being popped before the one that can't be spille...