| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
checker that are automatically handled now
by the Cocoa conventions logic.
llvm-svn: 122047
|
|
|
|
|
|
| |
when the selector is the string 'mutable'.
llvm-svn: 122046
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
comparisons formed by comparisons. For example,
this:
void foo(unsigned x) {
if (x == 0 || x == 1 || x == 3 || x == 4 || x == 6)
bar();
}
compiles into:
_foo: ## @foo
## BB#0: ## %entry
cmpl $6, %edi
ja LBB0_2
## BB#1: ## %entry
movl %edi, %eax
movl $91, %ecx
btq %rax, %rcx
jb LBB0_3
instead of:
_foo: ## @foo
## BB#0: ## %entry
cmpl $2, %edi
jb LBB0_4
## BB#1: ## %switch.early.test
cmpl $6, %edi
ja LBB0_3
## BB#2: ## %switch.early.test
movl %edi, %eax
movl $88, %ecx
btq %rax, %rcx
jb LBB0_4
This catches a bunch of cases in GCC, which look like this:
%804 = load i32* @which_alternative, align 4, !tbaa !0
%805 = icmp ult i32 %804, 2
%806 = icmp eq i32 %804, 3
%or.cond121 = or i1 %805, %806
%807 = icmp eq i32 %804, 4
%or.cond124 = or i1 %or.cond121, %807
br i1 %or.cond124, label %.thread, label %808
turning this into a range comparison.
llvm-svn: 122045
|
|
|
|
| |
llvm-svn: 122044
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IsSymbolRefDifferenceFullyResolved(). For example, we will now fold away
something like:
--
_a:
...
L0:
...
L1:
...
.long (L1 - L0) / 2
--
llvm-svn: 122043
|
|
|
|
|
|
|
|
|
|
| |
IsSymbolRefDifferenceFullyResolved, it turns out this does change behavior on
enough cases for x86-32 that I would rather wait a bit on it.
- In practice, we will want to change this eventually because it only means we
generate less relocations (it also eliminates the need for the horrible
'.set' hack that Darwin requires in some places).
llvm-svn: 122042
|
|
|
|
| |
llvm-svn: 122041
|
|
|
|
|
|
|
|
|
| |
to libAnalysis. Similar to Format (format string checking),
CocoaConventions has the
potential to serve clients other than the
static analyzer.
llvm-svn: 122040
|
|
|
|
|
|
|
|
| |
- Unlike for fixups, we always do the "reliable" thing (not just for x86_64).
- Since Darwin 'as' would typically reject things that using this will allow,
we don't need to worry about compatibility.
llvm-svn: 122038
|
|
|
|
|
|
|
|
| |
specific hook.
- Currently just has stub implementations for Mach-O, ELF, and COFF.
llvm-svn: 122037
|
|
|
|
|
|
|
|
| |
only indicates the create rule if it starts
at the beginning of the method name, not
within the method name.
llvm-svn: 122036
|
|
|
|
|
|
|
| |
to start with lowercase characters. No
functionality change.
llvm-svn: 122035
|
|
|
|
|
|
|
|
| |
This is a three-way interval list intersection between a virtual register, a
live interval union, and a loop. It will be used to identify interference-free
loops for live range splitting.
llvm-svn: 122034
|
|
|
|
|
|
| |
way to do this, but it fixes rdar://problem/8778973
llvm-svn: 122033
|
|
|
|
|
|
| |
-- and remove FIXME asking for the same!
llvm-svn: 122032
|
|
|
|
|
|
| |
assembler.
llvm-svn: 122031
|
|
|
|
| |
llvm-svn: 122030
|
|
|
|
|
|
|
|
|
|
|
|
| |
line commands can use the current thread/frame.
Fixed an issue with expressions that get sandboxed in an objective C method
where unichar wasn't being passed down.
Added a "static size_t Scalar::GetMaxByteSize();" function in case we need
to know the max supported by size of something within a Scalar object.
llvm-svn: 122027
|
|
|
|
| |
llvm-svn: 122026
|
|
|
|
|
|
| |
superceded and was effectively dead.
llvm-svn: 122024
|
|
|
|
| |
llvm-svn: 122023
|
|
|
|
| |
llvm-svn: 122021
|
|
|
|
|
|
|
|
|
| |
Stack'
gud commands in order to more reliably locate the program counter and to display
the file-and-line.
llvm-svn: 122020
|
|
|
|
| |
llvm-svn: 122019
|
|
|
|
|
|
| |
Radar 8776599
llvm-svn: 122018
|
|
|
|
| |
llvm-svn: 122017
|
|
|
|
| |
llvm-svn: 122016
|
|
|
|
| |
llvm-svn: 122015
|
|
|
|
|
|
|
|
|
| |
a null endptr argument, because they may write to errno.
This fixes a seflhost miscompile observed on Linux targets when TBAA
was enabled.
llvm-svn: 122014
|
|
|
|
| |
llvm-svn: 122013
|
|
|
|
|
|
| |
here?
llvm-svn: 122012
|
|
|
|
|
|
| |
in MCAsmLayout).
llvm-svn: 122011
|
|
|
|
| |
llvm-svn: 122010
|
|
|
|
| |
llvm-svn: 122009
|
|
|
|
| |
llvm-svn: 122008
|
|
|
|
| |
llvm-svn: 122006
|
|
|
|
| |
llvm-svn: 122005
|
|
|
|
|
|
| |
the MemoryBuffer*, however, it doesn't seem to delete it.
llvm-svn: 122004
|
|
|
|
| |
llvm-svn: 122003
|
|
|
|
| |
llvm-svn: 122002
|
|
|
|
| |
llvm-svn: 122001
|
|
|
|
|
|
| |
addr, size_t int_byte_size, Error &error) function.
llvm-svn: 121999
|
|
|
|
|
|
| |
uint64_t Process::ReadUnsignedInteger (addr_t addr, size_t int_byte_size, Error &error);
llvm-svn: 121996
|
|
|
|
| |
llvm-svn: 121995
|
|
|
|
|
|
|
| |
are correctly marked as used. This removes a hack where the call instructions
marked all possible argument registers as used in the tablegen description.
llvm-svn: 121994
|
|
|
|
|
|
| |
Fixes rdar://problem/8776586.
llvm-svn: 121992
|
|
|
|
| |
llvm-svn: 121990
|
|
|
|
|
|
| |
against.
llvm-svn: 121989
|
|
|
|
| |
llvm-svn: 121988
|
|
|
|
|
|
| |
reproduce the crash.
llvm-svn: 121986
|