- Mar 10, 2013
-
-
Hal Finkel authored
After the recent data-structure improvements, a couple of debugging statements were broken (printing pointer values). llvm-svn: 176791
-
- Mar 09, 2013
-
-
Benjamin Kramer authored
This made us emit runtime checks in a random order. Hopefully bootstrap miscompares will go away now. llvm-svn: 176775
-
Arnold Schwaighofer authored
Ignore all DbgIntriniscInfo instructions instead of just DbgValueInst. llvm-svn: 176769
-
Arnold Schwaighofer authored
We want vectorization to happen at -g. Ignore calls to the dbg.value intrinsic and don't transfer them to the vectorized code. radar://13378964 llvm-svn: 176768
-
Jakub Staszak authored
llvm-svn: 176765
-
Nick Lewycky authored
r176751. Also, learn a lesson about applying patches by hand/eyeball. llvm-svn: 176764
-
Nick Lewycky authored
Count the subprograms, not the compile units. llvm-svn: 176751
-
Nick Lewycky authored
it. Fortunately, versions of gcov that predate the extra checksum also ignore any extra data, so this isn't a problem. There will be a matching commit in compiler-rt. llvm-svn: 176745
-
- Mar 08, 2013
-
-
Benjamin Kramer authored
Fixes PR15344. llvm-svn: 176701
-
- Mar 07, 2013
-
-
Jakub Staszak authored
llvm-svn: 176661
-
Jakub Staszak authored
llvm-svn: 176660
-
Pekka Jaaskelainen authored
different size argument list and without attributes in the arguments. llvm-svn: 176632
-
Nick Lewycky authored
into the actual gcov file. Instead of using the bottom 4 bytes as the function identifier, use a counter. This makes the identifier numbers stable across multiple runs. llvm-svn: 176616
-
Andrew Trick authored
Fixes rdar:13349374. Volatile loads and stores need to be preserved even if the language standard says they are undefined. "volatile" in this context means "get out of the way compiler, let my platform handle it". Additionally, this is the only way I know of with llvm to write to the first page (when hardware allows) without dropping to assembly. llvm-svn: 176599
-
- Mar 06, 2013
-
-
Andrew Trick authored
Always print options that differ from their implicit default. At least for simple option types. llvm-svn: 176572
-
Andrew Trick authored
This way, clang -mllvm -print-options shows that the driver is overriding it. llvm-svn: 176569
-
Jim Grosbach authored
When considering folding a bitcast of an alloca into the alloca itself, make sure we don't shrink the amount of memory being allocated, or things rapidly go sideways. rdar://13324424 llvm-svn: 176547
-
- Mar 04, 2013
-
-
Lang Hames authored
GlobalValue linkage up to ExternalLinkage in the ExtractGV pass. This prevents linkonce and linkonce_odr symbols from being DCE'd. llvm-svn: 176459
-
Preston Gurd authored
* Only apply divide bypass optimization when not optimizing for size. * Fixed bug caused by constant for 0 value of type Int32, used dividend type to generate the constant instead. * For atom x86-64 apply the divide bypass to use 16-bit divides instead of 64-bit divides when operand values are small enough. * Added lit tests for 64-bit divide bypass. Patch by Tyler Nowicki! llvm-svn: 176442
-
- Mar 02, 2013
-
-
Nadav Rotem authored
The LoopVectorizer often runs multiple times on the same function due to inlining. When this happens the loop vectorizer often vectorizes the same loops multiple times, increasing code size and adding unneeded branches. With this patch, the vectorizer during vectorization puts metadata on scalar loops and marks them as 'already vectorized' so that it knows to ignore them when it sees them a second time. PR14448. llvm-svn: 176399
-
Peter Collingbourne authored
llvm-svn: 176397
-
- Mar 01, 2013
-
-
Benjamin Kramer authored
Fixes PR15384. llvm-svn: 176366
-
- Feb 28, 2013
-
-
Quentin Colombet authored
The instcombine recognized pattern looks like: a = b * c d = a +/- Cst or a = b * c d = Cst +/- a When creating the new operands for fadd or fsub instruction following the related fmul, the first operand was created with the second original operand (M0 was created with C1) and the second with the first (M1 with Opnd0). The fix consists in creating the new operands with the appropriate original operand, i.e., M0 with Opnd0 and M1 with C1. llvm-svn: 176300
-
Evgeniy Stepanov authored
Shadow checks are disabled and memory loads always produce fully initialized values in functions that don't have a sanitize_memory attribute. Value and argument shadow is propagated as usual. This change also updates blacklist behaviour to match the above. llvm-svn: 176247
-
Evgeniy Stepanov authored
llvm-svn: 176240
-
- Feb 27, 2013
-
-
Benjamin Kramer authored
This properly asks TargetLibraryInfo if a call is available and if it is, it can be translated into the corresponding LLVM builtin. We don't vectorize sqrt() yet because I'm not sure about the semantics for negative numbers. The other intrinsic should be exact equivalents to the libm functions. Differential Revision: http://llvm-reviews.chandlerc.com/D465 llvm-svn: 176188
-
Nick Lewycky authored
passing a null pointer to the function name in to GCDAProfiling, and add another switch onto GCOVProfiling. llvm-svn: 176173
-
Nick Lewycky authored
not llvm. llvm-svn: 176172
-
Nadav Rotem authored
For each function that we optimize we initialize a new list of lib functions. For each function name we malloc memory. This patch changes the Libcall map to use BumpPtrAllocator. Now we malloc only once. This speeds up instcombine by a few % on a large c++ program. llvm-svn: 176170
-
Nick Lewycky authored
clean up this code a tiny bit. No functionality change. llvm-svn: 176168
-
Pedro Artigas authored
enhancement done the trivial way; by extending inputs and truncating outputs which is addequate for targets with little or no support for integer arithmetic on integer types less than 32 bits. llvm-svn: 176139
-
- Feb 26, 2013
-
-
Kostya Serebryany authored
These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S llvm-svn: 176075
-
- Feb 24, 2013
-
-
Benjamin Kramer authored
This is a common pattern with dyn_cast and similar constructs, when the PHI no longer depends on the select it can often be turned into a simpler construct or even get hoisted out of the loop. PR15340. llvm-svn: 175995
-
- Feb 23, 2013
-
-
Michael Gottesman authored
rdar://13273675. llvm-svn: 175939
-
- Feb 22, 2013
-
-
Bill Wendling authored
The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should not treat the callee function as a built-in function. I.e., it shouldn't try to replace that function with different code. llvm-svn: 175835
-
- Feb 21, 2013
-
-
Renato Golin authored
Storing the load/store instructions with the values and inspect them using Alias Analysis to make sure they don't alias, since the GEP pointer operand doesn't take the offset into account. Trying hard to not add any extra cost to loads and stores that don't overlap on global values, AA is *only* calculated if all of the previous attempts failed. Using biggest vector register size as the stride for the vectorization access, as we're being conservative and the cost model (which calculates the real vectorization factor) is only run after the legalization phase. We might re-think this relationship in the future, but for now, I'd rather be safe than sorry. llvm-svn: 175818
-
Chad Rosier authored
llvm-svn: 175804
-
- Feb 20, 2013
-
-
Chad Rosier authored
llvm-svn: 175658
-
Kostya Serebryany authored
llvm-svn: 175617
-
- Feb 19, 2013
-
-
Jakub Staszak authored
llvm-svn: 175568
-