- Feb 20, 2012
-
-
Douglas Gregor authored
name mangling in the Itanium C++ ABI for lambda expressions is so dependent on context, we encode the number used to encode each lambda as part of the lambda closure type, and maintain this value within Sema. Note that there are a several pieces still missing: - We still get the linkage of lambda expressions wrong - We aren't properly numbering or mangling lambda expressions that occur in default function arguments or in data member initializers. - We aren't (de-)serializing the lambda numbering tables llvm-svn: 150982
-
Benjamin Kramer authored
llvm-svn: 150979
-
Benjamin Kramer authored
InstCombine: Removing the base from the address calculation is only safe when the GEPs are inbounds. llvm-svn: 150978
-
Eric Christopher authored
handled by the caching and rauw. Also fix one cache that wasn't being added to highlighted by this patch. Update all testcases accordingly. This should fix the deall failure. llvm-svn: 150977
-
Eric Christopher authored
temporary forward declaration nodes. Fixes a problem building Chrome. llvm-svn: 150976
-
Eric Christopher authored
derived from anything. llvm-svn: 150975
-
Eric Christopher authored
too. llvm-svn: 150974
-
Eric Christopher authored
llvm-svn: 150973
-
Gregory Szorc authored
llvm-svn: 150972
-
Gregory Szorc authored
llvm-svn: 150971
-
Gregory Szorc authored
llvm-svn: 150970
-
Gregory Szorc authored
llvm-svn: 150969
-
Bob Wilson authored
llvm-svn: 150965
-
Howard Hinnant authored
llvm-svn: 150964
-
Douglas Gregor authored
properly. Previously, we deserialized it but failed to set the corresponding member in CXXNewExpr. Fixes <rdar://problem/10893600>. llvm-svn: 150963
-
Benjamin Kramer authored
InstCombine: When comparing two GEPs that were derived from the same base pointer but use different types, expand the offset calculation and to the compare on the offset if profitable. This came up in SmallVector code. llvm-svn: 150962
-
Benjamin Kramer authored
- Ignore pointer casts. - Also expand GEPs that aren't constantexprs when they have one use or only constant indices. - We now compile "&foo[i] - &foo[j]" into "i - j". llvm-svn: 150961
-
Aaron Ballman authored
llvm-svn: 150960
-
Tobias Grosser authored
llvm-svn: 150959
-
Dylan Noblesmith authored
The class name is long enough without the llvm:: added. Also bring in RefCountedBase and RefCountedBaseVPTR. llvm-svn: 150958
-
James Molloy authored
llvm-svn: 150957
-
James Molloy authored
Teach TargetSelectionDAG about lengthening loads for vector types and set v4i8 as legal. Allow FP_TO_UINT for v4i16 from v4i32. llvm-svn: 150956
-
Tobias Grosser authored
llvm-svn: 150955
-
Tobias Grosser authored
llvm-svn: 150954
-
Tobias Grosser authored
llvm-svn: 150953
-
Tobias Grosser authored
This version of isl, contains some recently committed scheduler patches. llvm-svn: 150952
-
Tobias Grosser authored
llvm-svn: 150951
-
Tobias Grosser authored
llvm-svn: 150950
-
Evan Cheng authored
flow changes have already hidden the bug. rdar://10893812 llvm-svn: 150949
-
Chandler Carruth authored
match the behavior of GCC. Also add a test for these intrinsics, which apparently have *zero* tests. =[ Not surprisingly, Clang crashed when compiling these. Fix the bug in CodeGen where we failed to bitcast the argument type to x86mmx prior to calling the LLVM intrinsic. This fixes an assert on the new 3dnow-builtins.c test. This is one issue impacting the efforts to get Clang to emulate the Microsoft intrinsics headers -- 3dnow intrinsics are implictitly made available there. llvm-svn: 150948
-
Nick Lewycky authored
llvm-svn: 150947
-
Peter Collingbourne authored
llvm-svn: 150946
-
Chris Lattner authored
implementing PR12013. We now compile the testcase to: __Z4testv: ## @_Z4testv ## BB#0: ## %_ZN4llvm15SmallVectorImplIiE9push_backERKi.exit pushq %rbx subq $64, %rsp leaq 32(%rsp), %rbx movq %rbx, (%rsp) leaq 64(%rsp), %rax movq %rax, 16(%rsp) movl $1, 32(%rsp) leaq 36(%rsp), %rax movq %rax, 8(%rsp) leaq (%rsp), %rdi callq __Z1gRN4llvm11SmallVectorIiLj8EEE movq (%rsp), %rdi cmpq %rbx, %rdi je LBB0_2 ## BB#1: callq _free LBB0_2: ## %_ZN4llvm11SmallVectorIiLj8EED1Ev.exit addq $64, %rsp popq %rbx ret instead of: __Z4testv: ## @_Z4testv ## BB#0: pushq %rbx subq $64, %rsp xorl %eax, %eax leaq (%rsp), %rbx addq $32, %rbx movq %rbx, (%rsp) movq %rbx, 8(%rsp) leaq 64(%rsp), %rcx movq %rcx, 16(%rsp) je LBB0_2 ## BB#1: movl $1, 32(%rsp) movq %rbx, %rax LBB0_2: ## %_ZN4llvm15SmallVectorImplIiE9push_backERKi.exit addq $4, %rax movq %rax, 8(%rsp) leaq (%rsp), %rdi callq __Z1gRN4llvm11SmallVectorIiLj8EEE movq (%rsp), %rdi cmpq %rbx, %rdi je LBB0_4 ## BB#3: callq _free LBB0_4: ## %_ZN4llvm11SmallVectorIiLj8EED1Ev.exit addq $64, %rsp popq %rbx ret This doesn't shrink clang noticably though. llvm-svn: 150944
-
Benjamin Kramer authored
Fixes PR11929. Found by valgrind. llvm-svn: 150943
-
Chandler Carruth authored
release builds. Silences clang's -Wself-assign. llvm-svn: 150942
-
Chandler Carruth authored
functionality changed. This is in preparation for some refactoring of how this class behaves. llvm-svn: 150941
-
Benjamin Kramer authored
Found by valgrind. llvm-svn: 150940
-
Nick Lewycky authored
the information that they pass around between them. No functionality change! llvm-svn: 150939
-
Chandler Carruth authored
actually matching the write substrings, and stop looking for a leading '/' to try and finish fixing darwin and other hosts. llvm-svn: 150938
-
- Feb 19, 2012
-
-
Fariborz Jahanian authored
declared in class extension and implementation. llvm-svn: 150937
-