search for: hasval

Displaying 16 results from an estimated 16 matches for "hasval".

2018 Jan 24
2
[llvm] r322838 - [ADT] Split optional to only include copy mechanics and dtor for non-trivial types.
...39 +27,173 @@ > > namespace llvm { > > -template <typename T> class Optional { > +namespace optional_detail { > +/// Storage for any type. > +template <typename T, bool IsPodLike> struct OptionalStorage { > AlignedCharArrayUnion<T> storage; > bool hasVal = false; > > -public: > - using value_type = T; > - > - Optional(NoneType) {} > - explicit Optional() {} > - > - Optional(const T &y) : hasVal(true) { new (storage.buffer) T(y); } > + OptionalStorage() = default; > > - Optional(const Optional &O) : has...
2018 Jan 24
0
[llvm] r322838 - [ADT] Split optional to only include copy mechanics and dtor for non-trivial types.
...espace llvm { >> >> -template <typename T> class Optional { >> +namespace optional_detail { >> +/// Storage for any type. >> +template <typename T, bool IsPodLike> struct OptionalStorage { >> AlignedCharArrayUnion<T> storage; >> bool hasVal = false; >> >> -public: >> - using value_type = T; >> - >> - Optional(NoneType) {} >> - explicit Optional() {} >> - >> - Optional(const T &y) : hasVal(true) { new (storage.buffer) T(y); } >> + OptionalStorage() = default; >> >&...
2018 Jan 24
1
[llvm] r322838 - [ADT] Split optional to only include copy mechanics and dtor for non-trivial types.
...t;> -template <typename T> class Optional { > >> +namespace optional_detail { > >> +/// Storage for any type. > >> +template <typename T, bool IsPodLike> struct OptionalStorage { > >> AlignedCharArrayUnion<T> storage; > >> bool hasVal = false; > >> > >> -public: > >> - using value_type = T; > >> - > >> - Optional(NoneType) {} > >> - explicit Optional() {} > >> - > >> - Optional(const T &y) : hasVal(true) { new (storage.buffer) T(y); } > >> +...
2017 Jul 16
2
A bug related with undef value when bootstrap MemorySSA.cpp
...d possibly it is the root cause of https://bugs.llvm.org/show_bug.cgi?id=33652 and https://bugs.llvm.org/show_bug.cgi?id=33626. Here is the testcase 1.c. The original code is at MemorySSA.cpp:586 for rL307764. ------------------------- 1.c --------------------------- long a, c, d, e, f, m, cnt, i_hasval; volatile long b; void goo(long); void hoo(); long ioo(); void foo(long hasval) { long i, k; if (hasval) { i = b; } k = 0; do { if (i_hasval != hasval) return; if (i_hasval) { m = m + 1; if (a == i) { c = a + d + e + f; return; } }...
2018 Oct 01
2
Ubuntu LLVM packages incompatible with clang built projects?
On 09/29/2018 01:09 AM, Hans Wennborg via llvm-dev wrote: > Trunk still has the different gcc and clang versions. > > What's worse, the 7.0.0 release has them too :-( I completely missed > this and we can't fix it for 7.0.1 since that would also be an ABI > break. > Is this something we could fix by adding a symbol alias to the linker script for libLLVM.so? -Tom >
2017 Jul 18
2
A bug related with undef value when bootstrap MemorySSA.cpp
...hoo: # @hoo > >>>> >> 77 .cfi_startproc > >>>> >> 78 # BB#0: > >>>> >> 79 movq a(%rip), %rax > >>>> >> 80 movq cnt(%rip), %rcx > >>>> >> 81 cmpq $0, i_hasval(%rip) > >>>> >> 82 sete %sil > >>>> >> 83 xorl %edx, %edx > >>>> >> 84 .p2align 4, 0x90 > >>>> >> 85 .LBB1_1: # =>This Inner Loop Header: > >>>> >> De...
2018 May 22
2
DSE: Remove useless stores between malloc & memset
Full stack trace: opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: Assertion `Storage.hasVal' failed. Stack dump: 0. Program arguments: opt aaa.ll -dse -S 1. Running pass 'Function Pass Manager' on module 'aaa.ll'. 2. Running pass 'Dead Store Elimination' on function '@calloc_strlen' LLVMSymbolizer: error reading file: No such file or directory #0 0x0000...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
...l look at it too. 2018-05-22 23:34 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>: > Full stack trace: > > opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* > llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: > Assertion `Storage.hasVal' failed. > Stack dump: > 0. Program arguments: opt aaa.ll -dse -S > 1. Running pass 'Function Pass Manager' on module 'aaa.ll'. > 2. Running pass 'Dead Store Elimination' on function '@calloc_strlen' > LLVMSymbolizer: error reading file: No such fi...
2018 May 22
2
DSE: Remove useless stores between malloc & memset
...05-22 23:34 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>: > >> Full stack trace: >> >> opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* >> llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: >> Assertion `Storage.hasVal' failed. >> Stack dump: >> 0. Program arguments: opt aaa.ll -dse -S >> 1. Running pass 'Function Pass Manager' on module 'aaa.ll'. >> 2. Running pass 'Dead Store Elimination' on function '@calloc_strlen' >> LLVMSymbolizer: error read...
2018 May 22
2
DSE: Remove useless stores between malloc & memset
...olvansky at gmail.com>>: > > Full stack trace: > > opt: > /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: > T* llvm::Optional<T>::getPointer() [with T = > llvm::MemoryLocation]: Assertion `Storage.hasVal' failed. > Stack dump: > 0.Program arguments: opt aaa.ll -dse -S > 1.Running pass 'Function Pass Manager' on module 'aaa.ll'. > 2.Running pass 'Dead Store Elimination' on function > '@calloc_s...
2018 May 22
2
DSE: Remove useless stores between malloc & memset
...<david.bolvansky at gmail.com>: > Can you help a bit? > > I try to work with DSE but I got the following assert: > opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* > llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: > Assertion `Storage.hasVal' failed. > > static bool eliminateStrlen(CallInst *CI, BasicBlock::iterator &BBI, > AliasAnalysis *AA, MemoryDependenceResults *MD, > const DataLayout &DL, const TargetLibraryInfo *TLI, >...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
...vid Bolvanský <david.bolvansky at gmail.com>: >> >>> Full stack trace: >>> >>> opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* >>> llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: >>> Assertion `Storage.hasVal' failed. >>> Stack dump: >>> 0. Program arguments: opt aaa.ll -dse -S >>> 1. Running pass 'Function Pass Manager' on module 'aaa.ll'. >>> 2. Running pass 'Dead Store Elimination' on function '@calloc_strlen' >>> LLVMSy...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
...bolvansky at gmail.com>: >>> >>>> Full stack trace: >>>> >>>> opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* >>>> llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: >>>> Assertion `Storage.hasVal' failed. >>>> Stack dump: >>>> 0. Program arguments: opt aaa.ll -dse -S >>>> 1. Running pass 'Function Pass Manager' on module 'aaa.ll'. >>>> 2. Running pass 'Dead Store Elimination' on function '@calloc_strlen' &gt...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
....com>>: > > Can you help a bit? > > I try to work with DSE but I got the following assert: > opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* > llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: > Assertion `Storage.hasVal' failed. > > static bool eliminateStrlen(CallInst *CI, BasicBlock::iterator &BBI, > AliasAnalysis *AA, MemoryDependenceResults *MD, > const DataLayout &DL, const TargetLibraryInfo *TLI, >...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
Can you help a bit? I try to work with DSE but I got the following assert: opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T* llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: Assertion `Storage.hasVal' failed. static bool eliminateStrlen(CallInst *CI, BasicBlock::iterator &BBI, AliasAnalysis *AA, MemoryDependenceResults *MD, const DataLayout &DL, const TargetLibraryInfo *TLI, InstOverlapIntervalsTy &...
2018 May 21
2
DSE: Remove useless stores between malloc & memset
memoryIsNotModifiedBetween is precisely the sort of expensive walk we shouldn't be doing... I'm surprised it hasn't caused any serious issues yet.  Ideally, what we should be doing is using MemorySSA to find a dependency from the memset: if the closest dependency is the malloc, there aren't any stores between the memset and the malloc.  (But we aren't using MemorySSA in