hanchenye-llvm-project/clang/test/CodeGenCXX
Chris Lattner fe34c1d53e Kill off the 'coerce' ABI passing form. Now 'direct' and 'extend' always
have a "coerce to" type which often matches the default lowering of Clang
type to LLVM IR type, but the coerce case can be handled by making them
not be the same.

This simplifies things and fixes issues where X86-64 abi lowering would 
return coerce after making preferred types exactly match up.  This caused
us to compile:

typedef float v4f32 __attribute__((__vector_size__(16)));
v4f32 foo(v4f32 X) {
  return X+X;
}

into this code at -O0:

define <4 x float> @foo(<4 x float> %X.coerce) nounwind {
entry:
  %retval = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=2]
  %coerce = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=2]
  %X.addr = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=3]
  store <4 x float> %X.coerce, <4 x float>* %coerce
  %X = load <4 x float>* %coerce                  ; <<4 x float>> [#uses=1]
  store <4 x float> %X, <4 x float>* %X.addr
  %tmp = load <4 x float>* %X.addr                ; <<4 x float>> [#uses=1]
  %tmp1 = load <4 x float>* %X.addr               ; <<4 x float>> [#uses=1]
  %add = fadd <4 x float> %tmp, %tmp1             ; <<4 x float>> [#uses=1]
  store <4 x float> %add, <4 x float>* %retval
  %0 = load <4 x float>* %retval                  ; <<4 x float>> [#uses=1]
  ret <4 x float> %0
}

Now we get:

define <4 x float> @foo(<4 x float> %X) nounwind {
entry:
  %X.addr = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=3]
  store <4 x float> %X, <4 x float>* %X.addr
  %tmp = load <4 x float>* %X.addr                ; <<4 x float>> [#uses=1]
  %tmp1 = load <4 x float>* %X.addr               ; <<4 x float>> [#uses=1]
  %add = fadd <4 x float> %tmp, %tmp1             ; <<4 x float>> [#uses=1]
  ret <4 x float> %add
}

This implements rdar://8248065

llvm-svn: 109733
2010-07-29 06:26:06 +00:00
..
2010-03-09-AnonAggregate.cpp More then one anonymous aggregates on one line creates chaos when MDNode uniquness is combined with RAUW operation. Right solution is to avoid using RAUW. 2010-03-09 21:32:27 +00:00
DynArrayInit.cpp tests: Rewrite test to check intent instead of implementation. 2010-06-28 17:43:18 +00:00
PR4827-cast.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
PR4983-constructor-conversion.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
PR5050-constructor-conversion.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
PR5093-static-member-function.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
PR5834-constructor-conversion.cpp When converting from a type to itself or one of its base classes via a 2009-12-22 00:21:20 +00:00
PR5863-unreachable-block.cpp Add a comment for r104472. 2010-05-23 20:57:46 +00:00
PR6474.cpp Use -emit-llvm-only, to avoid leaving a temp around. 2010-03-11 18:23:02 +00:00
__null.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
address-of-fntemplate.cpp When determining a standard conversion sequence involves resolving the 2010-04-29 18:24:40 +00:00
alloca-align.cpp X86-64: 2010-06-28 19:56:59 +00:00
anonymous-namespaces.cpp The global variable for the VTT might not have external linkage; allow 2010-05-06 22:18:21 +00:00
anonymous-union-member-initializer.cpp When emitting an lvalue for an anonymous struct or union member during 2010-05-21 01:18:57 +00:00
arm-cc.cpp Change the test for which ABI/CC to use on ARM to be base on the environment 2010-06-16 19:01:17 +00:00
arm.cpp Fix tests that I missed from my previous commit. 2010-06-16 17:49:52 +00:00
array-construction.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
array-operator-delete-call.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
array-pointer-decay.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
array-value-initialize.cpp simplify EmitAggMemberInitializer a bit and make it work in 32-bit mode, 2010-05-06 06:35:23 +00:00
assign-operator.cpp Handle compound assignment expressions (i += j) as lvalues, which is 2010-04-23 04:16:32 +00:00
attr.cpp Change CodeGenModule to rely on the Module's symbol table instead of 2010-03-19 23:29:14 +00:00
bitfield-layout.cpp Simplify wide bit-field layout in CGRecordLayoutBuilder, and also fix a bug where assigning to a bit-field member would overwrite other parts of the struct. 2010-04-17 22:54:57 +00:00
block-destruct.cpp Fixes a Code Gen. Crash when calling destructor on a __block 2010-05-04 00:26:07 +00:00
block-in-ctor-dtor.cpp Patch to correctly mangle block helper functions 2010-06-24 00:08:06 +00:00
c-linkage.cpp Fixes a code gen. bug by removing an assert. 2010-04-20 22:02:31 +00:00
c99-variable-length-array.cpp Implement support for variable length arrays in C++. VLAs are limited 2010-05-22 16:17:30 +00:00
call-arg-zero-temp.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
cast-conversion.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
casts.cpp Make sure that reinterpret_cast gets a CastKind on all successful 2009-12-22 22:47:22 +00:00
class-layout.cpp Use a more appropriate LLVM type for the vtable pointer. 2010-05-05 05:47:36 +00:00
condition.cpp Revise cleanup IR generation to fix a major bug with cleanups (PR7686) 2010-07-23 21:56:41 +00:00
conditional-expr-lvalue.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
conditional-temporaries.cpp Update test. 2010-02-04 17:29:32 +00:00
const-base-cast.cpp Fix runline. 2009-12-27 05:59:41 +00:00
const-global-linkage.cpp Mangle static variables with an extra name to distinguish them from non-static variables in the same TU. 2010-01-24 03:04:27 +00:00
const-init.cpp Emit global references with constant initializers as constants. Fixes PR5585. 2010-02-08 21:46:50 +00:00
constructor-conversion.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
constructor-convert.cpp tests: Use %clangxx when using driver for C++, in case C++ support is disabled. 2010-06-29 16:52:24 +00:00
constructor-default-arg.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
constructor-for-array-members.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
constructor-init-reference.cpp Turn access control on by default in -cc1. 2010-04-09 19:03:51 +00:00
constructor-init.cpp When adding initializers to a constructor, be sure that we are looking 2010-03-26 22:43:07 +00:00
constructor-template.cpp Correctly pass VTT parameters to constructors and destructors. The VTTs aren't yet used in the ctors/dtors, but that will follow. 2010-01-02 01:01:18 +00:00
constructors.cpp Account for the VTT argument when making an implicit copy constructor for 2010-04-30 05:56:45 +00:00
conversion-function.cpp XFAIL this for now. 2010-01-27 03:06:00 +00:00
conversion-operator-base.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
convert-to-fptr.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
copy-assign-synthesis-1.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
copy-assign-synthesis-2.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
copy-assign-synthesis-3.cpp Fix a couple bugs in copy assignment operator synthesis. 2010-01-15 20:06:11 +00:00
copy-assign-synthesis.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
copy-constructor-elim-2.cpp Make copy constructor elimination work in more cases; the case in question 2009-12-24 23:33:34 +00:00
copy-constructor-elim.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
copy-constructor-synthesis-2.cpp More vtable improvements. We now compute and keep track of all vtable related information which avoids computing the same vtable layout over and over. 2010-03-24 16:42:11 +00:00
copy-constructor-synthesis.cpp Use the new function in EmitClassAggrMemberwiseCopy, fixing the same assert as seen in PR6628 but for arrays this time. 2010-03-30 03:30:08 +00:00
copy-in-cplus-object.cpp Block Code Gen. API. Call destructor on descriptior 2010-06-08 20:57:22 +00:00
copy-initialization.cpp Rework our handling of copy construction of temporaries, which was a 2010-04-02 18:24:57 +00:00
cxx-apple-kext.cpp tests: Use %clangxx when using driver for C++, in case C++ support is disabled. 2010-06-29 16:52:24 +00:00
debug-info-template.cpp Print template argument names for template class. 2010-07-20 20:24:18 +00:00
debug-info.cpp Fix another debug info crash with virtual bases. 2010-01-26 05:26:39 +00:00
decl-ref-init.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
default-arg-temps.cpp Reinstate the fix for PR7556. A silly use of isTrivial() was 2010-07-08 06:14:04 +00:00
default-arguments.cpp Perform two more constructor/destructor code-size optimizations: 2010-02-23 00:48:20 +00:00
default-constructor-default-argument.cpp Correctly pass VTT parameters to constructors and destructors. The VTTs aren't yet used in the ctors/dtors, but that will follow. 2010-01-02 01:01:18 +00:00
default-constructor-for-members.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
default-constructor-template-member.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
default-destructor-nested.cpp Turn access control on by default in -cc1. 2010-04-09 19:03:51 +00:00
default-destructor-synthesis.cpp Fix test/CodeGenCXX/default-destructor-synthesis.cpp not to rely on asm output. 2010-01-27 03:03:08 +00:00
deferred-global-init.cpp C++: Add support for -fno-use-cxa-atexit. 2010-03-20 04:15:41 +00:00
delete-two-arg.cpp Fix for Release-Assert. 2010-01-13 20:58:35 +00:00
delete.cpp Restore r101841 without modification. Also mark 'operator delete' as used for 2010-04-20 02:18:25 +00:00
dependent-type-member-pointer.cpp PR7736: Make sure to mark &Class::Member correctly as being type-dependent 2010-07-28 23:26:18 +00:00
derived-to-base-conv.cpp Rework our handling of copy construction of temporaries, which was a 2010-04-02 18:24:57 +00:00
derived-to-base.cpp When performing a derived-to-base cast that we know will not change the offset, we don't need to null check the input pointer. Fixes PR5965. 2010-01-31 02:39:02 +00:00
destructor-calls.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
destructor-debug-info.cpp Fix debug info for cleanup block. 2010-04-13 00:08:43 +00:00
destructors.cpp Implement proper base/member destructor EH chaining. 2010-07-21 05:30:47 +00:00
devirtualize-virtual-function-calls.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
dynamic-cast.cpp Tweak test so that it does not require <typeinfo> 2010-05-14 21:50:50 +00:00
dyncast.cpp When a failed dynamic_cast<T&> (which is an lvalue) results in a 2010-05-14 21:14:41 +00:00
eh.cpp When creating a jump destination, its scope should be the scope of the 2010-07-28 01:07:35 +00:00
elide-call-reference.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
empty-classes.cpp Add test case that I forgot to check in. 2010-05-03 14:22:40 +00:00
empty-union.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
enum.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
eval-recursive-constant.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
exceptions-no-rtti.cpp Fix -fno-rtti -fexceptions by forcing the emission of (non-"builtin") RTTI 2010-04-30 01:15:21 +00:00
exceptions.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
explicit-instantiation.cpp Give explicit template instantiations weak ODR linkage. Former 2010-03-13 18:23:07 +00:00
expr.cpp implement codegen support for preinc as an lvalue, PR5514. 2010-01-09 21:44:40 +00:00
extern-c.cpp Fix assertion failure when parsing linkage specifications (PR5921), 2010-02-07 08:38:28 +00:00
field-access-debug-info.cpp Encode field accessibility. 2010-04-21 23:12:37 +00:00
function-template-explicit-specialization.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
function-template-specialization.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
global-array-destruction.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
global-dtor-no-atexit.cpp Fix PR7097, a bad interaction between -fno-use-cxa-atexit and 2010-06-19 05:52:45 +00:00
global-init-darwin.cpp Try to fix buildbot tests. 2010-06-08 23:10:20 +00:00
global-init.cpp When deferring the emission of declarations with initializers in C++, remember 2010-07-15 23:40:35 +00:00
global-llvm-constant.cpp Mangle static variables with an extra name to distinguish them from non-static variables in the same TU. 2010-01-24 03:04:27 +00:00
implicit-copy-assign-operator.cpp Try to unbreak clang-i686-darawin10 builder 2010-05-03 15:51:04 +00:00
implicit-copy-constructor.cpp Reimplement code generation for copying fields in the 2010-05-05 05:51:00 +00:00
implicit-instantiation-1.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
incomplete-member-function-pointer.cpp Fix for PR7040: Don't try to compute the LLVM type for a function where it 2010-05-30 06:03:20 +00:00
init-incomplete-type.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
inline-functions.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
instantiate-blocks.cpp More block instantiation stuff. Set variable/param DeclContext 2010-07-13 20:05:58 +00:00
instantiate-init-list.cpp Turn access control on by default in -cc1. 2010-04-09 19:03:51 +00:00
internal-linkage.cpp Fixes a corner case bug whereby declaring and defining an extern variable in a 2010-06-21 16:08:37 +00:00
key-function-vtable.cpp A vtable is used if the key function is defined... even if that key 2010-05-14 04:08:48 +00:00
lvalue-bitcasts.cpp Add lvalue-bitcast support for complex numbers. 2010-07-14 21:35:45 +00:00
mangle-address-space.cpp Add name mangling for address spaces. We use the vendor-extension 2010-06-14 23:15:08 +00:00
mangle-exprs.cpp pass/return structs of char and short as i8/i16 to avoid 2010-06-28 21:59:07 +00:00
mangle-extern-local.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
mangle-extreme.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
mangle-local-class-names.cpp Refactor local class name mangling and make it 2010-03-04 01:02:03 +00:00
mangle-ms.cpp Mangle Objective-C pointers and block pointers in the Microsoft C++ Mangler. 2010-07-03 16:56:59 +00:00
mangle-subst-std.cpp Don't substitute 'St' for 'std' when the namespace is nested inside another namespace. 2010-06-02 15:58:27 +00:00
mangle-subst.cpp When mangling member function pointers, fake adding a substitution corresponding to the function type. 2010-06-02 04:29:50 +00:00
mangle-system-header.cpp Don't turn off mangling in implicitly extern "C" system headers. GCC 2010-03-07 05:10:40 +00:00
mangle-template.cpp Improve name mangling for dependent template names (e.g., typename 2010-04-28 05:58:56 +00:00
mangle-unnamed.cpp Correctly mangle static variables of anonymous struct/union type. 2010-06-08 14:49:03 +00:00
mangle.cpp Mangle enum constant expressions. Fixes rdar://problem/8204122 2010-07-24 01:17:35 +00:00
member-call-parens.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
member-expressions.cpp Introduce a new kind of derived-to-base cast which bypasses the need for 2010-03-30 23:58:03 +00:00
member-function-pointer-calls.cpp with recent optimizer changes, these all get devirtualized. 2010-05-01 01:42:06 +00:00
member-function-pointers.cpp If we're generating code to create a pointer-to-member function 2010-05-03 20:00:27 +00:00
member-functions.cpp pass/return structs of char and short as i8/i16 to avoid 2010-06-28 21:59:07 +00:00
member-init-assignment.cpp IRgen: Assignment to Objective-C properties shouldn't reload the value (which 2010-06-29 22:00:45 +00:00
member-init-struct.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
member-init-union.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
member-initializers.cpp with recent optimizer changes, these all get devirtualized. 2010-05-01 01:42:06 +00:00
member-pointer-type-convert.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
member-templates.cpp Give explicit template instantiations weak ODR linkage. Former 2010-03-13 18:23:07 +00:00
multi-dim-operator-new.cpp Check for some code gen. for PR6641 test. 2010-03-25 18:05:35 +00:00
namespace-aliases.cpp I hate default statements. Fixes PR6874. 2010-04-23 02:02:43 +00:00
nested-base-member-access.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
new-operator-phi.cpp Turn access control on by default in -cc1. 2010-04-09 19:03:51 +00:00
new-with-default-arg.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
new.cpp Implement zero-initialization for array new when there is an 2010-07-21 01:10:17 +00:00
no-exceptions.cpp Make EmitStartEHSpec and EmitEndEHSpec return early when exceptions are disabled. 2010-02-06 23:59:05 +00:00
nonconst-init.cpp Fix crash initializing a bit-field with a non-constant in a place where we 2010-07-17 23:55:01 +00:00
nrvo.cpp Teach IR generation how to lazily emit cleanups. This has a lot of advantages, 2010-07-13 20:32:21 +00:00
nullptr.cpp Perform overload resolution when static_cast'ing from a 2010-03-07 23:24:59 +00:00
operator-new.cpp don't demand names to be on IR. 2010-07-20 21:34:36 +00:00
overload-binop-implicitconvert.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
pointers-to-data-members.cpp implement rdar://7432000 - signed negate should codegen as NSW. 2010-06-26 20:27:24 +00:00
predefined-expr-sizeof.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
predefined-expr.cpp Fix for PR5871. Make __PRETTY_FUNCTION__ work for member functions defined in a class local to a function. 2009-12-28 03:19:38 +00:00
ptr-to-datamember.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
ptr-to-member-function.cpp Testcase fixes to reflect instruction table changes in the LLVM backend 2009-12-18 00:04:09 +00:00
reference-bind-default-argument.cpp Fix for PR5524: make reference binding in default argument work correctly. 2009-12-19 00:20:10 +00:00
reference-cast.cpp Adjust test for float printing differences. Windows uses three digits for the exponent, everyone else two. 2010-07-19 11:48:10 +00:00
reference-field.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
reference-in-block-args.cpp Block C++ code gen. Adds support for block reference argument 2010-06-02 21:35:17 +00:00
reference-in-blocks.cpp Fixes a code gen crash when block is a reference type, etc. 2010-05-04 17:59:32 +00:00
reference-init.cpp Fix reference binding of const lvalue references to bit-fields, which 2010-01-29 19:14:02 +00:00
references.cpp Correctly destroy reference temporaries with global storage. Remove ErrorUnsupported call when binding a global reference to a non-lvalue. Fixes PR7326. 2010-06-27 17:52:15 +00:00
reinterpret-cast.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
rtti-fundamental.cpp Eliminate excessive PCH deserialization caused by the search for 2010-04-08 15:52:03 +00:00
rtti-layout.cpp When building RTTI descriptors for pointer types, we need to get the unqualified array type and the qualifiers from it. 2010-06-02 15:44:35 +00:00
rtti-linkage.cpp typeid() produces type information for the cv-unqualified version of 2010-06-02 06:16:02 +00:00
sel-address.mm Do not treat @selector as lvalue (unlike g++). 2010-06-17 21:45:48 +00:00
static-assert.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
static-data-member.cpp Use the right definition when emitting a global variable. Fixes PR5564. 2010-01-26 17:43:42 +00:00
static-init-1.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
static-init-2.cpp turn down the logical bitwise confusion warning to not warn 2010-07-24 01:10:11 +00:00
static-init-3.cpp When we emit a non-constant initializer for a global variable of 2010-05-05 20:15:55 +00:00
static-init.cpp Correctly align large arrays in x86-64. This fixes PR5599. 2010-06-04 23:15:27 +00:00
static-local-in-local-class.cpp Patch to fix a irgen crash accessing an initialized local static 2010-05-26 21:45:50 +00:00
static-member-variable-explicit-specialization.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
temp-order.cpp Fix a nasty bug where temporaries weren't marked as being conditional in some cases. 2010-01-24 00:20:05 +00:00
template-anonymous-union-member-initializer.cpp Turn access control on by default in -cc1. 2010-04-09 19:03:51 +00:00
template-instantiation.cpp Reinstate the optimization suppressing available_externally functions 2010-07-13 06:02:28 +00:00
template-linkage.cpp Do not give implicitly-defined virtual members functions 2010-05-06 23:13:35 +00:00
template-static-var-defer.cpp Fix for PR7415: refactor CodeGenModule::MayDeferGeneration and make it less 2010-06-19 06:24:06 +00:00
temporaries.cpp Reinstate the fix for PR7556. A silly use of isTrivial() was 2010-07-08 06:14:04 +00:00
threadsafe-statics-exceptions.cpp Validated by nightly-test runs on x86 and x86-64 darwin, including after 2010-07-06 01:34:17 +00:00
threadsafe-statics.cpp Add support for threadsafe statics, and make them the default (matching gcc). 2010-02-06 23:23:06 +00:00
throw-expression-dtor.cpp Think through my commit this time. 2010-06-03 23:31:53 +00:00
throw-expressions.cpp Insulate these from changes to the default for -Wunreachable-code. 2010-01-23 20:12:18 +00:00
thunks.cpp Don't try to emit the vtable for a class just because we're emitting a 2010-06-02 21:22:02 +00:00
trivial-constructor-init.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
try-catch.cpp There is no such thing as typeinfo for a cv-qualified type. Assert 2009-12-23 22:04:40 +00:00
typeinfo Fix members to be public. 2009-11-16 19:48:50 +00:00
unary-type-trait.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
value-init.cpp When explicitly building a temporary object (CXXTemporaryObjectExpr), 2010-04-27 20:36:09 +00:00
vararg-conversion-ctor.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virt-call-offsets.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virt-canonical-decl.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virt-dtor-gen.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virt-dtor-key.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virt-template-vtable.cpp Turn access control on by default in -cc1. 2010-04-09 19:03:51 +00:00
virt-thunk-reference.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virtual-base-cast.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virtual-base-ctor.cpp Test for r91724. 2009-12-18 23:42:55 +00:00
virtual-base-destructor-call.cpp Don't try to emit the vtable for a class just because we're emitting a 2010-06-02 21:22:02 +00:00
virtual-bases.cpp When collecting virtual bases it's very important to use the canonical type of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251. 2010-03-29 19:49:09 +00:00
virtual-destructor-calls.cpp Perform two more constructor/destructor code-size optimizations: 2010-02-23 00:48:20 +00:00
virtual-destructor-synthesis.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virtual-function-calls.cpp Fix a refacto that broke the clang-on-clang build. 2010-02-12 18:14:46 +00:00
virtual-functions-incomplete-types.cpp X86-64: 2010-06-28 19:56:59 +00:00
virtual-implicit-copy-assignment.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virtual-inherited-destructor.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virtual-operator-call.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
virtual-pseudo-destructor-call.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
visibility-hidden-extern-templates.cpp Reinstate the optimization suppressing available_externally functions 2010-07-13 06:02:28 +00:00
visibility-inlines-hidden.cpp Implement -fvisibility-inlines-hidden. <rdar://problem/7819834> 2010-06-15 17:05:35 +00:00
visibility.cpp Make sure to set the visible on a vtable; VTTs and typeinfo already 2010-06-14 23:41:45 +00:00
vtable-cast-crash.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
vtable-key-function.cpp Improve key-function computation for templates. In particular: 2010-01-05 19:06:31 +00:00
vtable-layout-abi-examples.cpp Don't add address points for virtual primary bases that aren't primary bases in the complete class. 2010-03-25 21:45:14 +00:00
vtable-layout-extreme.cpp Add an extreme vbase offsets test. I'm kinda amazed that this works myself ;) 2010-02-16 16:50:08 +00:00
vtable-layout.cpp Rework when and how vtables are emitted, by tracking where vtables are 2010-05-13 16:44:06 +00:00
vtable-linkage.cpp IRgen/C++: When mark vtables used, make sure to still append to the VTableUse array if we promote a vtable from being just used to having its definition required. This ensures that we properly inform the consumer about whether the vtable is required or not, previously we could fail to do so when the vtable was in the VTableUses array before the decl which marked it as required. 2010-05-25 00:33:13 +00:00
vtable-pointer-initialization.cpp Back out r101911 and see if it makes the bots happy. 2010-04-20 18:05:10 +00:00
vtt-layout.cpp More VTT builder fixes. With these fixes we now correctly handle the very complex VTT example from the Itanium ABI spec. 2010-01-18 17:13:59 +00:00
x86_32-arguments.cpp C++/Darwin/i386 ABI: Fix some problems with empty record handling. 2010-05-17 16:46:00 +00:00
x86_64-arguments.cpp Kill off the 'coerce' ABI passing form. Now 'direct' and 'extend' always 2010-07-29 06:26:06 +00:00