aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/tbaa-struct.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-11-19Revert "Change memcpy/memset/memmove to have dest and source alignments."Pete Cooper1-5/+5
This reverts commit r253512. This likely broke the bots in: http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds/20202 http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/3787 llvm-svn: 253542
2015-11-18Change memcpy/memset/memmove to have dest and source alignments.Pete Cooper1-5/+5
This is a follow on from a similar LLVM commit: r253511. Note, this was reviewed (and more details are in) http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/312083.html These intrinsics currently have an explicit alignment argument which is required to be a constant integer. It represents the alignment of the source and dest, and so must be the minimum of those. This change allows source and dest to each have their own alignments by using the alignment attribute on their arguments. The alignment argument itself is removed. The only code change to clang is hidden in CGBuilder.h which now passes both dest and source alignment to IRBuilder, instead of taking the minimum of dest and source alignments. Reviewed by Hal Finkel. llvm-svn: 253512
2014-12-15IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith1-9/+9
Match LLVM changes from r224257. llvm-svn: 224259
2013-12-16Misc test cleanups.Rafael Espindola1-6/+5
* 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
2013-10-08TBAA: use the same format for scalar TBAA and struct-path aware TBAA.Manman Ren1-3/+5
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
2013-10-01Revert r191586 and r191695. They cause crashes when building withRichard Smith1-5/+3
-relaxed-aliasing. llvm-svn: 191725
2013-09-27TBAA: use the same format for scalar TBAA and struct-path aware TBAA.Manman Ren1-3/+5
Struct-path aware TBAA generates tags to specify the access path, while scalar TBAA only generates tags to scalar types. llvm-svn: 191586
2013-06-26Rewrite record layout for ms_struct structs.Eli Friedman1-1/+1
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
2013-04-22Add triple to tbaa-struct.cpp to appease botsManman Ren1-1/+1
llvm-svn: 180065
2013-04-22TBAA: make sure zero-length bitfield works for tbaa.struct and path-aware tbaaManman Ren1-0/+28
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
2013-03-21Add more testing cases for tbaa.structManman Ren1-0/+29
Testing cases for structs of structs and unions of structs. llvm-svn: 177612
2012-09-29clang/test/CodeGen/tbaa-struct.cpp: Fix. Be aware of 32 bit pointer.NAKAMURA Takumi1-1/+2
llvm-svn: 164879
2012-09-28Add basic support for adding !tbaa.struct metadata on llvm.memcpy calls forDan Gohman1-0/+16
struct assignment. llvm-svn: 164853