- Aug 26, 2010
-
-
Chris Lattner authored
llvm-svn: 112155
-
Douglas Gregor authored
llvm-svn: 112154
-
Oscar Fuentes authored
from llvm-link/CMakeLists.txt llvm-svn: 112153
-
Greg Clayton authored
code stepping. Also we now store the stack frames for the current and previous stops in the thread in std::auto_ptr objects. When we create a thread stack frame list we pass the previous frame into it so it can re-use the frames and maintain will allow for variable changes to be detected. I will implement the stack frame reuse next. llvm-svn: 112152
-
Dan Gohman authored
llvm-svn: 112151
-
Douglas Gregor authored
into the clients, e.g., the printing code-completion consumer and c-index-test. Clients may want to re-sort the results anyway. Provide a libclang function that sorts the results. llvm-svn: 112149
-
John McCall authored
llvm-svn: 112148
-
John McCall authored
I think there are good reasons to change this, but in the interests of short-term stability, make SmallVector<...,0> reserve non-zero capacity in its constructors. This means that SmallVector<...,0> uses more memory than SmallVector<...,1> and should really only be used (unless/until this workaround is removed) by clients that care about using SmallVector with an incomplete type. llvm-svn: 112147
-
Eric Christopher authored
gcc defines them. llvm-svn: 112146
-
Ted Kremenek authored
Add libclang API hook "clang_getIBOutletCollectionType" to query the collection type for iboutletcollection attributes. llvm-svn: 112139
-
Daniel Dunbar authored
ready yet. llvm-svn: 112138
-
Chris Lattner authored
llvm-svn: 112132
-
Chris Lattner authored
llvm-svn: 112131
-
Chris Lattner authored
llvm-svn: 112130
-
Bruno Cardoso Lopes authored
llvm-svn: 112128
-
-
Daniel Dunbar authored
- Will be adding an executable test case to test-suite repo. llvm-svn: 112126
-
Daniel Dunbar authored
of always using the new toolchain. llvm-svn: 112125
-
Daniel Dunbar authored
llvm-svn: 112124
-
Daniel Dunbar authored
header.", it is teh broken. llvm-svn: 112123
-
Eric Christopher authored
vectors that are the same size. Fix up testcases accordingly and add a new one to make sure we still error if lax vector conversions are disabled. Fixes rdar://8328190 llvm-svn: 112122
-
Douglas Gregor authored
into the clients", because the C standard library sucks. Where's my stable sort, huh? llvm-svn: 112121
-
Dan Gohman authored
and was over-complicated, and replacing it with a simple implementation. llvm-svn: 112120
-
Fariborz Jahanian authored
llvm-svn: 112119
-
Bob Wilson authored
a VLD result was not used (Radar 8355607). It should also fix pr7988, but I haven't verified that yet. llvm-svn: 112118
-
Fariborz Jahanian authored
llvm-svn: 112117
-
Fariborz Jahanian authored
llvm-svn: 112116
-
Eric Christopher authored
llvm-svn: 112115
-
John McCall authored
This works courtesy of the new SmallVector<..., 0> specialization that doesn't require a complete type. Note that you'll need to pull at least SmallVector.h from LLVM to compile successfully. llvm-svn: 112114
-
Chris Lattner authored
builder. I will investigate tonight. llvm-svn: 112113
-
Argyrios Kyrtzidis authored
llvm-svn: 112112
-
Chris Lattner authored
as a double in the x86-64 ABI. This allows us to generate much better code for certain things, e.g.: _Complex float f32(_Complex float A, _Complex float B) { return A+B; } Used to compile into (look at the integer silliness!): _f32: ## @f32 ## BB#0: ## %entry movd %xmm1, %rax movd %eax, %xmm1 movd %xmm0, %rcx movd %ecx, %xmm0 addss %xmm1, %xmm0 movd %xmm0, %edx shrq $32, %rax movd %eax, %xmm0 shrq $32, %rcx movd %ecx, %xmm1 addss %xmm0, %xmm1 movd %xmm1, %eax shlq $32, %rax addq %rdx, %rax movd %rax, %xmm0 ret Now we get: _f32: ## @f32 movdqa %xmm0, %xmm2 addss %xmm1, %xmm2 pshufd $16, %xmm2, %xmm2 pshufd $1, %xmm1, %xmm1 pshufd $1, %xmm0, %xmm0 addss %xmm1, %xmm0 pshufd $16, %xmm0, %xmm1 movdqa %xmm2, %xmm0 unpcklps %xmm1, %xmm0 ret and compile stuff like: extern float _Complex ccoshf( float _Complex ) ; float _Complex ccosf ( float _Complex z ) { float _Complex iz; (__real__ iz) = -(__imag__ z); (__imag__ iz) = (__real__ z); return ccoshf(iz); } into: _ccosf: ## @ccosf ## BB#0: ## %entry pshufd $1, %xmm0, %xmm1 xorps LCPI4_0(%rip), %xmm1 unpcklps %xmm0, %xmm1 movaps %xmm1, %xmm0 jmp _ccoshf ## TAILCALL instead of: _ccosf: ## @ccosf ## BB#0: ## %entry movd %xmm0, %rax movq %rax, %rcx shlq $32, %rcx shrq $32, %rax xorl $-2147483648, %eax ## imm = 0xFFFFFFFF80000000 addq %rcx, %rax movd %rax, %xmm0 jmp _ccoshf ## TAILCALL There is still "stuff to be done" here for the struct case, but this resolves rdar://6379669 - [x86-64 ABI] Pass and return _Complex float / double efficiently llvm-svn: 112111
-
Dan Gohman authored
faster on large modules. llvm-svn: 112110
-
Chris Lattner authored
llvm-svn: 112109
-
Bob Wilson authored
with the VST4 instructions. Until after register allocation, we want to represent sets of adjacent registers by a single super-register. These VST4 pseudo instructions have a single QQ or QQQQ source register operand. They get expanded to the real VST4 instructions with 4 separate D register operands. Once this conversion is complete, we'll be able to remove the NEONPreAllocPass and avoid some fragile and hacky code elsewhere. llvm-svn: 112108
-
Argyrios Kyrtzidis authored
Fix miscompilation. The custom new[]/delete[] methods were not getting called for arrays with more than 1 dimension. llvm-svn: 112107
-
John McCall authored
not require its type argument to be complete if no members are actually used. llvm-svn: 112106
-
Chris Lattner authored
trivial. llvm-svn: 112105
-
Chris Lattner authored
llvm-svn: 112104
-
Johnny Chen authored
llvm-svn: 112103
-