summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/builtin-assume-aligned.c
Commit message (Collapse)AuthorAgeFilesLines
* clang/test/CodeGen/builtin-assume-aligned.c: Fix for -Asserts.NAKAMURA Takumi2014-09-261-9/+9
| | | | llvm-svn: 218507
* Support the assume_aligned function attributeHal Finkel2014-09-261-0/+23
| | | | | | | | | In addition to __builtin_assume_aligned, GCC also supports an assume_aligned attribute which specifies the alignment (and optional offset) of a function's return value. Here we implement support for the assume_aligned attribute by making use of the @llvm.assume intrinsic. llvm-svn: 218500
* clang/test/CodeGen/builtin-assume*.c: Fixup for -Asserts.NAKAMURA Takumi2014-09-081-18/+18
| | | | llvm-svn: 217352
* Add __builtin_assume and __builtin_assume_aligned using @llvm.assume.Hal Finkel2014-09-071-0/+44
This makes use of the recently-added @llvm.assume intrinsic to implement a __builtin_assume(bool) intrinsic (to provide additional information to the optimizer). This hooks up __assume in MS-compatibility mode to mirror __builtin_assume (the semantics have been intentionally kept compatible), and implements GCC's __builtin_assume_aligned as assume((p - o) & mask == 0). LLVM now contains special logic to deal with assumptions of this form. llvm-svn: 217349
OpenPOWER on IntegriCloud