search for: fstrict

Displaying 20 results from an estimated 98 matches for "fstrict".

Did you mean: strict
2010 Oct 29
0
[LLVMdev] strict aliasing and LLVM
Xinliang David Li wrote: > As simple as > > void foo (int n, double *p, int *q) > { > for (int i = 0; i < n; i++) > *p += *q; > } > > clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c > llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc There's a couple things interacting here: * clang -fstrict-aliasing -O2 does generate the TBAA info, but it runs the optimizers without enabling the -enable-tbaa flag, so the optimizers never loo...
2010 Oct 29
5
[LLVMdev] strict aliasing and LLVM
As simple as void foo (int n, double *p, int *q) { for (int i = 0; i < n; i++) *p += *q; } clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc Memory accesses remain in the loop. The following works fine: void foo(int n, double *restrict p, int * restrict *q) { ... } By the way, Is there a performance category in the llvm bug database? Thanks,...
2010 Oct 29
2
[LLVMdev] strict aliasing and LLVM
On Oct 29, 2010, at 12:26 AM, Nick Lewycky wrote: > Xinliang David Li wrote: >> As simple as >> >> void foo (int n, double *p, int *q) >> { >> for (int i = 0; i < n; i++) >> *p += *q; >> } >> >> clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c >> llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc > > There's a couple things interacting here: > * clang -fstrict-aliasing -O2 does generate the TBAA info, but it runs the optimizers without enabling the -enable-tbaa flag, so the optim...
2010 Oct 29
3
[LLVMdev] strict aliasing and LLVM
...29, 2010 at 12:26 AM, Nick Lewycky <nicholas at mxc.ca> wrote: > Xinliang David Li wrote: > >> As simple as >> >> void foo (int n, double *p, int *q) >> { >> for (int i = 0; i < n; i++) >> *p += *q; >> } >> >> clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c >> llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc >> > > There's a couple things interacting here: > * clang -fstrict-aliasing -O2 does generate the TBAA info, but it runs the > optimizers without enabling the -enable-tbaa flag...
2010 Oct 30
0
[LLVMdev] strict aliasing and LLVM
...ailto:nicholas at mxc.ca>> wrote: > > Xinliang David Li wrote: > > As simple as > > void foo (int n, double *p, int *q) > { > for (int i = 0; i < n; i++) > *p += *q; > } > > clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c > llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc > > > There's a couple things interacting here: > * clang -fstrict-aliasing -O2 does generate the TBAA info, but it > runs the optimizers without enabling the -ena...
2010 Oct 30
0
[LLVMdev] strict aliasing and LLVM
...2:26 AM, Nick Lewycky wrote: > >> Xinliang David Li wrote: >>> As simple as >>> >>> void foo (int n, double *p, int *q) >>> { >>> for (int i = 0; i< n; i++) >>> *p += *q; >>> } >>> >>> clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c >>> llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc >> >> There's a couple things interacting here: >> * clang -fstrict-aliasing -O2 does generate the TBAA info, but it runs the optimizers without enabling the -enable-tbaa fla...
2015 Nov 12
2
[cfe-dev] Propagating llvm.assume across function calls to enhance de-virtualization
...s change imperceptible. I am not sure what would be good solution to this - maybe there should be some other assume like intrinsic for doing this numbers assumes that we had problem. 5. Maybe add logic that will remove all invariant.group stuff when doing LTO with module that was not compiled with -fstrict-vtable-pointers. Besides the things that Richard said. Piotr 2015-11-12 23:40 GMT+01:00 Richard Smith via cfe-dev <cfe-dev at lists.llvm.org >: > On Thu, Nov 12, 2015 at 2:24 PM, Geoff Berry via cfe-dev < > cfe-dev at lists.llvm.org> wrote: > >> Hi All, >> >&...
2006 Oct 10
0
compiling error R-2.4.0
...e dmg available from CRAN but without success. The PATH is correct. tclConfig.sh is localised in /opt/local/lib and have those permission: -rw-r--r-- 2 root admin 7K Oct 9 09:49 tclConfig.sh Here is the error produce by ./configure CFLAGS='-O3 -faltivec -fgcse- sm -funroll-loops -fstrict-aliasing -fsched-interblock -falign- loops=16 -falign-jumps=16 -falign-functions=16 -malign-natural - freorder-blocks -freorder-blocks-and-partition -mpowerpc-gfxopt - mpowerpc-gpopt -fstrict-aliasing -ftree-vectorize -mtune=G5 -mcpu=G5' FFLAGS='-O3 -faltivec -fgcse-sm -funroll-loops -...
2010 Oct 30
1
[LLVMdev] strict aliasing and LLVM
...>> >> Xinliang David Li wrote: >> >> As simple as >> >> void foo (int n, double *p, int *q) >> { >> for (int i = 0; i < n; i++) >> *p += *q; >> } >> >> clang -O2 -fstrict-aliasing -emit-llvm -o foo.bc -c foo.c >> llc -enable-tbaa -O2 -filetype=asm -o foo.s foo.bc >> >> >> There's a couple things interacting here: >> * clang -fstrict-aliasing -O2 does generate the TBAA info, but it >> runs the optimizers witho...
2009 May 08
2
[LLVMdev] Darwin option processing
...++ Makefile.rules (working copy) @@ -245,6 +245,13 @@ OmitFramePointer := -fomit-frame-pointer endif endif + ifndef LOADABLE_MODULE + ifndef SHARED_LIBRARY + ifeq ($(OS),Darwin) + DynamicNoPic := -mdynamic-no-pic + endif + endif + endif # Darwin requires -fstrict-aliasing to be explicitly enabled. # Avoid -fstrict-aliasing on Darwin for now, there are unresolved issues @@ -252,8 +259,8 @@ #ifeq ($(OS),Darwin) # EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing #endif - CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) - C.Flags +...
2008 Aug 22
0
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
On Aug 22, 2008, at 9:34 AM, Chris Lattner wrote: > C has a way to express this: signed integers are defined to never > overflow, unsigned integers are defined to wrap gracefully on > overflow. And gcc has yet more fun in it: -fstrict-overflow Allow the compiler to assume strict signed overflow rules, depending on the language being compiled. For C (and C++) this means that overflow when doing arithmetic with signed numbers is undefined, which means that the compiler may assume that it...
2011 Dec 03
1
[LLVMdev] New strict-aliasing warning?
When compiling trunk using gcc 4.1.2 on linux/ppc64, I now see a warning that I don't remember seeing previously: llvm[2]: Compiling InlineSpiller.cpp for Release+Asserts build /src/llvm-trunk-dev/include/llvm/ADT/PointerIntPair.h: In member function ‘const PointerTy* llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits>::getAddrOfPointer() const [with PointerTy = void*, unsigned
2015 Nov 12
2
Propagating llvm.assume across function calls to enhance de-virtualization
...ences for each global variable with virtual functions referenced inside a function. This is similar to what is currently done for local variables and would produce more vtable load assumptions to be propagated by (1). Related to (2), does anyone know what the status is of enabling clang's -fstrict-vtable-pointers by default? Are there known issues with this code that would need to be resolved as well? Thanks, -- Geoff Berry Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project...
2015 Jan 16
3
[LLVMdev] Alias Analysis pass ordering in LLVM (and Clang)
...ring a 'no-alias' result, to query BasicAA for a contradiction of must-alias or partial-alias, and to ignore the no-alias in that case. That should more precisely model the desired behavior of TBAA-except-for-local-type-puns. Finally, I think we should teach Clang to have two flags: "-fstrict-aliasing" and '-fstrict-local-type-pun-aliasing'. By default, strict-aliasing can imply strict-local-type-pun-aliasing. Darwin and any other platforms that want the current aliasing behavior can make the use of strict-aliasing by default *not* imply strict-local-type-pun-aliasing. This...
2010 Oct 29
2
[LLVMdev] strict aliasing and LLVM
...s it not documented anywhere. See http://clang.llvm.org/docs/UsersManual.html#commandline -mllvm flags are somewhat equivalent to gcc -param options. -mllvm flags are for compiler hackers to play with, and are not stable or documented. Once TBAA is stable and reliable it will be controlled with -fstrict-aliasing as you'd expect. -Chris > > David > > On Fri, Oct 29, 2010 at 2:17 AM, Benjamin Kramer <benny.kra at googlemail.com> wrote: > > On 29.10.2010, at 09:26, Nick Lewycky wrote: > > > * If clang -O2 worked by running 'opt' and 'llc' un...
2014 Oct 13
2
[LLVMdev] Unexpected spilling of vector register during lane extraction on some x86_64 targets
...[0]); return 0; } In the above function 'testee' (duly inlined in the disassembly below), local var 'rem' gets spilled and read back as scalars, depending on which version of the integer lane accessor was used. Output from clang 3.4 for target corei7-avx: $ clang++ test.cpp -O3 -fstrict-aliasing -funroll-loops -ffast-math -march=native -mtune=native -DSPILLING_ENSUES=0 /* no spilling */ $ objdump -dC --no-show-raw-insn ./a.out ... 00000000004004f0 <main>: 4004f0: vmovdqa 0x2004c8(%rip),%xmm0 # 6009c0 <x> 4004f8: vpsrld $0x17,%xmm0,%xmm0 4004fd: vpa...
2010 Oct 29
2
[LLVMdev] strict aliasing and LLVM
...O2 worked by running 'opt' and 'llc' under the hood, we > could tell it to pass a flag along to them, but it doesn't. As it > stands, you can't turn -enable-tbaa on when running clang. > > So, putting that together, one way to do it is: > > clang -O2 -fstrict-aliasing foo.c -flto -c -o foo.bc > opt -O2 -enable-tbaa foo.bc foo2.bc > llc -O2 -enable-tbaa foo2.bc -o foo2.s clang -O2 foo.c -S -o foo.s -mllvm -enable-tbaa
2013 Jan 18
0
[LLVMdev] Loads not hoisted out of the loop
...ctual values. Does it have something to do with possible aliasing? Yes. Almost certainly, the compiler can't tell that the load from the struct (to get the array pointer) doesn't alias with the stores to the array itself. This is exactly the kind of thing that type-based alias analysis (-fstrict-aliasing) can help with. Use with caution, as it can break some type-unsafe idioms. --Owen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130117/3b809c0b/attachment.html>
2009 Jan 02
2
[LLVMdev] link problem with llvm-pass
...la/build/tools/llx -I/Users/me/Work/code/synphony/llvmllila/ include -I/Users/me/Work/code/synphony/llvmllila/tools/llx -D_DEBUG - D_GNU_SOURCE -D__STDC_LIMIT_MACROS -O3 -fno-exceptions -Woverloaded- virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused - Wno-unused-parameter -fstrict-aliasing -Wstrict-aliasing -O3 -rpath / Users/me/Work/code/synphony/llvmllila/build/Release//bin -export- dynamic -L/Users/me/Work/code/synphony/llvmllila/build/Release//lib -L/ Users/me/Work/code/llvm-2.4/Release//lib -o /Users/me/Work/code/ synphony/llvmllila/build/Release//bin/llx /Users...
2010 Oct 27
2
[LLVMdev] strict aliasing and LLVM
Is type based aliasing implemented in LLVM? Simple test case shows it is not, or an option similar to -fstrict-aliasing is needed? Thanks, David -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101027/f24b1afc/attachment.html>