mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 19:45:40 -04:00

Summary: This flag is enabled by default in the driver when NDEBUG is set. It is forwarded on the LLVMContext to discard all value names (but GlobalValue) for performance purpose. This an improved version of D18024 Reviewers: echristo, chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18127 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263394
47 lines
734 B
C++
47 lines
734 B
C++
// RUN: %clang_cc1 -triple mips64el-unknown-linux -O3 -S -target-abi n64 -o - -emit-llvm %s | FileCheck %s
|
|
|
|
class B0 {
|
|
double d;
|
|
};
|
|
|
|
class D0 : public B0 {
|
|
float f;
|
|
};
|
|
|
|
class B1 {
|
|
};
|
|
|
|
class D1 : public B1 {
|
|
double d;
|
|
float f;
|
|
};
|
|
|
|
class D2 : public B0 {
|
|
double d2;
|
|
};
|
|
|
|
extern D0 gd0;
|
|
extern D1 gd1;
|
|
extern D2 gd2;
|
|
|
|
// CHECK: define inreg { i64, i64 } @_Z4foo1v()
|
|
D0 foo1(void) {
|
|
return gd0;
|
|
}
|
|
|
|
// CHECK: define inreg { double, float } @_Z4foo2v()
|
|
D1 foo2(void) {
|
|
return gd1;
|
|
}
|
|
|
|
// CHECK-LABEL: define void @_Z4foo32D2(i64 inreg %a0.coerce0, double inreg %a0.coerce1)
|
|
void foo3(D2 a0) {
|
|
gd2 = a0;
|
|
}
|
|
|
|
// CHECK-LABEL: define void @_Z4foo42D0(i64 inreg %a0.coerce0, i64 inreg %a0.coerce1)
|
|
void foo4(D0 a0) {
|
|
gd0 = a0;
|
|
}
|
|
|