search for: guard

Displaying 20 results from an estimated 2014 matches for "guard".

2019 May 28
6
Making loop guards part of canonical loop structure
Hi all, TL;DR: Should the loop guard branch be part of the canonical loop structure? Background: ----------- While working on the next set of improvements to loop fusion, we discovered that loop rotation will put a guard around a loop if it cannot prove the loop will execute at least once, as seen in the following (simplified) exampl...
2018 Jul 10
2
Giving up using implicit control flow in guards
Hello Everyone, I want to raise a discussion about @llvm.experimental.guard intrinsic and reasons why we should give up using it. Here is an alternative approach to representation of guards that resolves some of fundamental flaws that the current guards have. Basically, this intrinsic was introduced to model the following situation: we want to check that some condition is...
2018 Jul 13
2
Giving up using implicit control flow in guards
...Max -----Original Message----- From: Sanjoy Das [mailto:sanjoy at playingwithpointers.com] Sent: Wednesday, July 11, 2018 8:35 PM To: Maxim Kazantsev <max.kazantsev at azul.com> Cc: llvm-dev <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] Giving up using implicit control flow in guards Hi Max, I think this works, but I'm a bit wary around the complexity introduced by widenable_condition. For instance, we'd have to be careful in spec'ing out its memory effects (if it is readnone/readonly, it will get CSE'ed (which may not be what you want?) but if it can write...
2019 May 30
2
Making loop guards part of canonical loop structure
On Hexagon, unguarded loops cannot be converted to hardware loops. If the loop's latch branch alone handles the iteration count, including the possibility of 0, then the loop cannot be converted to a hardware loop, because hardware loops must iterate at least once. If the entire loop is guarded against zero iter...
2018 May 16
2
RFC: separating guards and implicit control flow
All, TLDR: guards currently require reasoning about implicit control flow.  LLVM struggles with implicit control flow within a basic block.  We should redesign guards to admit this rather than trying to boil the ocean. As you may be aware, LLVM currently has experimental support for a construct called a "g...
2016 Feb 18
2
RFC: Add guard intrinsics to LLVM
Replies inline. At a high level, it feels like we'll eventually need a new instruction to represent the kind of control flow a guard entails (to be clear: we should probably still start with an intrinsic) -- they are fairly well-behaved, i.e. readonly, nounwind etc. as far as the immediate "physical" caller is concerned, but not so as far as its callers's callers are concerned. On Wed, Feb 17, 2016 at 3:40 PM, Phi...
2016 Apr 27
2
RFC: Generalize AssumptionCache to AxiomCache
Hi all, Guard intrinsics[0] are similar in nature to Assume intrinsics, in that the condition passed to a guard intrinsic call is known to be true at locations dominated (but *not* post-dominated) by the call[1]. I'd like to re-use the AssumptionCache infrastructure that already exists to teach the mid leve...
2005 May 18
2
R Include File Guards
R 2.1.0/src/include from 2005/04/18 download Naming inconsistent for guards as well but that's pedantic. Simple convention: file <foo.h> #ifndef R_FOO_H file <R_ext/bar.h> #ifndef R_EXT_BAR_H Missing guards: <IOStuff.h> <Internal.h> <Parse.h> <R_ext/GraphicsBase.h> <R_ext/GraphicsDevice.h> <R_ext/GraphicsEngine...
2016 Feb 17
7
RFC: Add guard intrinsics to LLVM
This is a proposal to add guard intrinsics to LLVM. Couple of glossary items: when I say "interpreter" I mean "the most conservative tier in the compilation stack" which can be an actual interpreter, a "splat compiler" or even a regular JIT that doesn't make optimistic assumptions. By "bai...
2010 Sep 23
1
Behavior of R CMD build and library() w.r.t. setGeneric-like functions
...in advance for a rather long email, but to describe the problem, I need to step through many details. I have been working on a new dispatching system (futile.paradigm on CRAN) based on functional programming concepts that is an alternative to S3 and S4 dispatching. I use a declarative syntax using guard statements to control the dispatching between function variants. I also provide post assertions via an 'ensure' command that programatically behave similar to the 'guard' command. In a sense, these work like setGeneric/setMethod in S4. As a simple example, I write code like this:...
2018 May 17
0
RFC: separating guards and implicit control flow
On 05/16/2018 04:49 PM, Philip Reames wrote: > All, > > TLDR: guards currently require reasoning about implicit control flow.  > LLVM struggles with implicit control flow within a basic block.  We > should redesign guards to admit this rather than trying to boil the > ocean. > > As you may be aware, LLVM currently has experimental support for a >...
2007 Oct 23
0
6 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c libswfdec/swfdec_flash_security.c
...ec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 5582f2b..841f438 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -860,26 +860,19 @@ swfdec_as_frame_get_this (SwfdecAsFrame *frame) /** * swfdec_as_frame_set_security: * @frame: the frame to be executed - * @guard: the security guarding this frame + * @guard: the security to be used in this frame * - * Checks that @guard allows executing the frame. The frame's security will - * be set to what @guard returns. By default, a frame has the security of - * its parent frame. If it's the first frame, it...
2016 Jun 02
6
-Wmisleading-indentation violations
...ssing. ``` /home/dsl11/dev/llvm-upstream/src/lib/MC/MCParser/DarwinAsmParser.cpp: In member function ‘bool {anonymous}::DarwinAsmParser::parseVersionMin(llvm::StringRef, llvm::SMLoc)’: /home/dsl11/dev/llvm-upstream/src/lib/MC/MCParser/DarwinAsmParser.cpp:962:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (Update > 255 || Update < 0) ^~ /home/dsl11/dev/llvm-upstream/src/lib/MC/MCParser/DarwinAsmParser.cpp:964:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ Lex(); ^~~ ``` ``` /home/dsl11/...
2019 May 30
4
Making loop guards part of canonical loop structure
...ilip Reames <listmail at philipreames.com> Sent: Thursday, May 30, 2019 3:00 PM To: Krzysztof Parzyszek <kparzysz at quicinc.com>; Finkel, Hal J. <hfinkel at anl.gov>; Kit Barton <kit.barton at gmail.com>; llvm-dev at lists.llvm.org Subject: [EXT] Re: [llvm-dev] Making loop guards part of canonical loop structure Er, I'm missing something.  Every loop header is guaranteed to execute at least once, if the preheader is reached.  How is what you need anything more than a loop header with a unique predecessor (preheader)? I'm not seeing the need for a guard block in wh...
2016 Feb 18
2
RFC: Add guard intrinsics to LLVM
...it with phi nodes is a > recipe for pain and long compile times. > > Thanks! > > -eric > > On Tue, Feb 16, 2016 at 6:06 PM Sanjoy Das via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > This is a proposal to add guard intrinsics to LLVM. > > Couple of glossary items: when I say "interpreter" I mean "the most > conservative tier in the compilation stack" which can be an actual > interpreter, a "splat compiler" or even a regular JIT that doesn't > ma...
2019 Mar 25
2
[PATCH] x86/paravirt: Guard against invalid cpu # in pv_vcpu_is_preempted()
...hat passing an invalid cpu number to pv_vcpu_is_preempted() might panic the kernel in a VM guest. For example, [ 2.531077] Oops: 0000 [#1] SMP PTI : [ 2.532545] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 [ 2.533321] RIP: 0010:__raw_callee_save___kvm_vcpu_is_preempted+0x0/0x20 To guard against this kind of kernel panic, check is added to pv_vcpu_is_preempted() to make sure that no invalid cpu number will be used. Signed-off-by: Waiman Long <longman at redhat.com> --- arch/x86/include/asm/paravirt.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/x86/include...
2019 Mar 25
2
[PATCH] x86/paravirt: Guard against invalid cpu # in pv_vcpu_is_preempted()
...hat passing an invalid cpu number to pv_vcpu_is_preempted() might panic the kernel in a VM guest. For example, [ 2.531077] Oops: 0000 [#1] SMP PTI : [ 2.532545] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 [ 2.533321] RIP: 0010:__raw_callee_save___kvm_vcpu_is_preempted+0x0/0x20 To guard against this kind of kernel panic, check is added to pv_vcpu_is_preempted() to make sure that no invalid cpu number will be used. Signed-off-by: Waiman Long <longman at redhat.com> --- arch/x86/include/asm/paravirt.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/x86/include...
2020 May 14
2
Sancov guard semantics for usage between comdats
...} return x; } [[gnu::noinline]] int inline_bar2() { int x = inline_foo(); if (x % 37) { x += 3; } return x; } }; int Foo::public_foo() { return inline_foo() ? inline_bar1() : inline_bar2(); } ``` Compiling this with `clang++ -fsanitize-coverage=trace-pc-guard /tmp/test.cpp -c -O1` generates sancov guards (__sancov_gen_.X) that are used outside of their comdat group due to inlining: ``` @__sancov_gen_.1 = private global [3 x i32] zeroinitializer, section "__sancov_guards", comdat($_ZN3Foo10inline_fooEv) define dso_local i32 @_ZN3Foo10public...
2019 Mar 25
2
[PATCH] x86/paravirt: Guard against invalid cpu # in pv_vcpu_is_preempted()
...ight panic the kernel in a VM guest. For example, >> >> [ 2.531077] Oops: 0000 [#1] SMP PTI >> : >> [ 2.532545] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 >> [ 2.533321] RIP: 0010:__raw_callee_save___kvm_vcpu_is_preempted+0x0/0x20 >> >> To guard against this kind of kernel panic, check is added to >> pv_vcpu_is_preempted() to make sure that no invalid cpu number will >> be used. >> >> Signed-off-by: Waiman Long <longman at redhat.com> >> --- >> arch/x86/include/asm/paravirt.h | 6 ++++++ >>...
2019 Mar 25
2
[PATCH] x86/paravirt: Guard against invalid cpu # in pv_vcpu_is_preempted()
...ight panic the kernel in a VM guest. For example, >> >> [ 2.531077] Oops: 0000 [#1] SMP PTI >> : >> [ 2.532545] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 >> [ 2.533321] RIP: 0010:__raw_callee_save___kvm_vcpu_is_preempted+0x0/0x20 >> >> To guard against this kind of kernel panic, check is added to >> pv_vcpu_is_preempted() to make sure that no invalid cpu number will >> be used. >> >> Signed-off-by: Waiman Long <longman at redhat.com> >> --- >> arch/x86/include/asm/paravirt.h | 6 ++++++ >>...