| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
consume one or more of their arguments. If not done, this will cause a leak
as method will not consume the argument when receiver is null.
In this patch, the null path releases consumed argument.
// rdar://10444474
llvm-svn: 149279
|
|
|
|
| |
llvm-svn: 149237
|
|
|
|
|
|
| |
are now in IntrinsicsX86.td.
llvm-svn: 149235
|
|
|
|
|
|
| |
connecting intrinsics and builtins in IntrinsicsX86.td.
llvm-svn: 149233
|
|
|
|
|
|
|
| |
recently. This also conveniently gets clang ready for a change about to
land in mainline.
llvm-svn: 149225
|
|
|
|
| |
llvm-svn: 149205
|
|
|
|
|
|
|
|
| |
kill the retain from the return site.
This has the workaround nature. It's badness all around.
llvm-svn: 149193
|
|
|
|
|
|
|
| |
in the presence of straight-line cleanups. This is a simple but
important case, particularly for ARC.
llvm-svn: 149190
|
|
|
|
|
|
|
|
| |
consume one or more of their arguments. If not done, this will cause a leak
as method will not consume the argument when receiver is null.
// rdar://10444474
llvm-svn: 149184
|
|
|
|
|
|
|
|
|
| |
There is really no reason to have these only available on x86. It's
just __builtin_c[tl]z for shorts.
Modernize the test while at it.
llvm-svn: 149183
|
|
|
|
| |
llvm-svn: 149104
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ARM supports clz and ctz directly and both operations have well-defined
results for zero. There is no disadvantage in performance to using the
defined-at-zero versions of llvm.ctlz/cttz intrinsics. We're running into
ARM-specific code written with the assumption that __builtin_clz(0) == 32,
even though that value is technically undefined. The code is failing now
because of llvm optimizations that are taking advantage of the undef
behavior (specifically svn r147255). There's nothing wrong with that
optimization on x86 where any incorrect assumptions about __builtin_clz(0)
will quickly be exposed. For ARM, though, optimizations based on that undef
behavior are likely to cause subtle bugs. Other targets with defined-at-zero
clz/ctz support may want to override the default behavior as well.
llvm-svn: 149086
|
|
|
|
| |
llvm-svn: 149051
|
|
|
|
|
|
|
|
|
| |
the gdb testsuite complains too much about the ordering of items printed,
even if the offsets in the debug info are correct.
This reverts commit 027cb30af828f07750f9185782822297a5c57231.
llvm-svn: 149049
|
|
|
|
| |
llvm-svn: 149047
|
|
|
|
|
|
|
| |
around, in the process cleaning up the various gcc/msvc compiler
workarounds.
llvm-svn: 149036
|
|
|
|
| |
llvm-svn: 149015
|
|
|
|
| |
llvm-svn: 149013
|
|
|
|
| |
llvm-svn: 149012
|
|
|
|
|
|
| |
MSVC-compatible way. Patch by Joe Groff.
llvm-svn: 148992
|
|
|
|
| |
llvm-svn: 148982
|
|
|
|
| |
llvm-svn: 148943
|
|
|
|
|
|
|
|
|
|
| |
"use the new ConstantVector::getSplat method where it makes sense."
Also simplify a bunch of code to use the Builder->getInt32 instead
of doing it the hard and ugly way. Much more progress could be made
here, but I don't plan to do it.
llvm-svn: 148926
|
|
|
|
| |
llvm-svn: 148923
|
|
|
|
|
|
|
| |
Original log:
use the new ConstantVector::getSplat method where it makes sense.
llvm-svn: 148907
|
|
|
|
| |
llvm-svn: 148904
|
|
|
|
| |
llvm-svn: 148903
|
|
|
|
| |
llvm-svn: 148902
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
will allow to disable
address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
When building with AddressSanitizer, add AddressSafety function attribute to every generated function
except for those that have __attribute__((no_address_safety_analysis)).
With this patch we will be able to
1. disable AddressSanitizer for a particular function
2. disable AddressSanitizer-hostile optimizations (such as some cases of load widening) when AddressSanitizer is on.
llvm-svn: 148842
|
|
|
|
|
|
| |
type of pointers.
llvm-svn: 148753
|
|
|
|
| |
llvm-svn: 148744
|
|
|
|
|
|
| |
X86 backend in LLVM.
llvm-svn: 148689
|
|
|
|
|
|
| |
variable. The assertion doesn't cover quite as much as it should, but it's a good start, at least.
llvm-svn: 148625
|
|
|
|
|
|
|
|
|
| |
a forward declaration unless we already have a type. We can fill it in
later if it's actually used.
Fixes PR11345
llvm-svn: 148584
|
|
|
|
| |
llvm-svn: 148577
|
|
|
|
| |
llvm-svn: 148554
|
|
|
|
| |
llvm-svn: 148388
|
|
|
|
| |
llvm-svn: 148375
|
|
|
|
| |
llvm-svn: 148368
|
|
|
|
| |
llvm-svn: 148361
|
|
|
|
|
|
| |
patch (slightly revised) by Aaron Ballman.
llvm-svn: 148359
|
|
|
|
| |
llvm-svn: 148358
|
|
|
|
|
|
| |
__builtin_*abs. Patch by Ruben Van Boxem.
llvm-svn: 148340
|
|
|
|
|
|
| |
that APValue-based constant emission knows how to emit member pointers.
llvm-svn: 148336
|
|
|
|
| |
llvm-svn: 148331
|
|
|
|
|
|
|
|
|
| |
or whatever else is required for the initialization instead of
assuming it can be done with a simple store.
Fixes PR11732.
llvm-svn: 148325
|
|
|
|
|
|
| |
generation for Objective-C; it may not be needed.
llvm-svn: 148317
|
|
|
|
|
|
| |
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
|
|
|
|
| |
llvm-svn: 148254
|
|
|
|
|
|
|
| |
statement which has an unscoped case inside it.
Patch by Aaron Ballman
llvm-svn: 148243
|