Commit Graph

9 Commits

Author SHA1 Message Date
Anna Thomas f9fef1ef2e Clang changes for overloading invariant.start and end intrinsics
This change depends on the corresponding LLVM change at:
https://reviews.llvm.org/D22519

The llvm.invariant.start and llvm.invariant.end intrinsics currently
support specifying invariant memory objects only in the default address
space.

With this LLVM change, these intrinsics are overloaded for any adddress space
for memory objects and we can use these llvm invariant intrinsics in
non-default address spaces.

Example: llvm.invariant.start.p1i8(i64 4, i8 addrspace(1)* %ptr)

This overloaded intrinsic is needed for representing final or invariant
memory in managed languages.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@276448 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-22 17:50:08 +00:00
Reid Kleckner 9bf7ad4d6b Fix two tests relying on LLVM -O1 behavior
Something changed the inference of nonnull.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260472 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-11 00:14:04 +00:00
Nico Weber 479a96e872 Rebase tests after LLVM r247707.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247712 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-15 18:49:51 +00:00
Philip Reames bfeebd81de Adjust clang side tests effected by 239795 before reapplying said change
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239848 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-16 20:24:06 +00:00
Rafael Espindola a3f55b026f Don't pass -O0 to clang_cc1, it is the default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189910 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-04 04:12:25 +00:00
Stephen Lin 93ab6bf534 CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188447 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-15 06:47:53 +00:00
Nick Lewycky ef7844666b Emit the exact size for the invariant intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151010 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-21 00:26:58 +00:00
Richard Smith 00a8c3f6c9 Don't emit optimization-specific intrinsic at -O0.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150838 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-17 20:12:52 +00:00
Richard Smith abb943284c The clang half of r150794: after the construction of a global or static const
variable ends, if the variable has a trivial destructor and no mutable
subobjects then emit an llvm.invariant.start call for it. globalopt knows to
make the variable const when evaluating this.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150798 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-17 07:31:37 +00:00