| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Match LLVM changes from r224257.
llvm-svn: 224259
|
|
|
|
|
|
|
|
| |
* tbaa-struct.cpp always has a 64 bit pointer.
* f32:32:32, f64:64:64 and f128:128:128 are defaults, don't assume they are
printed.
llvm-svn: 197415
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An updated version of r191586 with bug fix.
Struct-path aware TBAA generates tags to specify the access path,
while scalar TBAA only generates tags to scalar types.
We should not generate a TBAA tag with null being the first field. When
a TBAA type node is null, the tag should be null too. Make sure we
don't decorate an instruction with a null TBAA tag.
Added a testing case for the bug reported by Richard with -relaxed-aliasing
and -fsanitizer=thread.
llvm-svn: 192145
|
|
|
|
|
|
| |
-relaxed-aliasing.
llvm-svn: 191725
|
|
|
|
|
|
|
| |
Struct-path aware TBAA generates tags to specify the access path,
while scalar TBAA only generates tags to scalar types.
llvm-svn: 191586
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old implementation of ms_struct in RecordLayoutBuilder was a
complete mess: it depended on complicated conditionals which didn't
really reflect the underlying logic, and placed a burden on users of
the resulting RecordLayout. This commit rips out almost all of the
old code, and replaces it with simple checks in
RecordLayoutBuilder::LayoutBitField.
This commit also fixes <rdar://problem/14252115>, a bug where class
inheritance would cause us to lay out bitfields incorrectly.
llvm-svn: 185018
|
|
|
|
| |
llvm-svn: 180065
|
|
|
|
|
|
|
|
| |
For ms structs, zero-length bitfields following non-bitfield members are
completely ignored, we should not increase the field index.
Before the fix, we will have an assertion failure.
llvm-svn: 180038
|
|
|
|
|
|
| |
Testing cases for structs of structs and unions of structs.
llvm-svn: 177612
|
|
|
|
| |
llvm-svn: 164879
|
|
struct assignment.
llvm-svn: 164853
|