Commit Graph

21 Commits

Author SHA1 Message Date
Raul E. Silvera
8b6d60f94b Change math intrinsic attributes from readonly to readnone. These
are operations that do not access memory but may be sensitive
to floating-point environment changes. LLVM does not attempt
to model FP environment changes, so this was unnecessarily conservative
and was getting on the way of some optimizations, in particular
SLP vectorization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203037 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-06 00:18:15 +00:00
Bill Wendling
7ab6c76ad1 Modify the LLVM assembly output so that it uses references to represent function attributes.
This makes the LLVM assembly look better. E.g.:

     define void @foo() #0 { ret void }
     attributes #0 = { nounwind noinline ssp }


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175605 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-20 07:21:42 +00:00
Chris Lattner
86208903cb rdar://11542750 - llvm.trap should be marked no return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157551 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27 23:20:41 +00:00
Chandler Carruth
ddbc274169 Manually upgrade the test suite to specify the flag to cttz and ctlz.
I followed three heuristics for deciding whether to set 'true' or
'false':

- Everything target independent got 'true' as that is the expected
  common output of the GCC builtins.
- If the target arch only has one way of implementing this operation,
  set the flag in the way that exercises the most of codegen. For most
  architectures this is also the likely path from a GCC builtin, with
  'true' being set. It will (eventually) require lowering away that
  difference, and then lowering to the architecture's operation.
- Otherwise, set the flag differently dependending on which target
  operation should be tested.

Let me know if anyone has any issue with this pattern or would like
specific tests of another form. This should allow the x86 codegen to
just iteratively improve as I teach the backend how to differentiate
between the two forms, and everything else should remain exactly the
same.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146370 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 11:59:10 +00:00
Chris Lattner
3211c6e31b remove autoupgrade support for old forms of llvm.prefetch and the old
trampoline forms.  Both of these were correct in LLVM 3.0, and we don't
need to support LLVM 2.9 and earlier in mainline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145174 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 07:42:04 +00:00
Dan Gohman
63f7ba085f Upgrade these tests for the current intrinsic prototypes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49669 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-14 18:19:18 +00:00
Tanya Lattner
9bc243b251 Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47784 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 07:38:40 +00:00
Reid Spencer
a3c533a716 For PR1297:
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35548 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-01 07:36:28 +00:00
Reid Spencer
21fdb97a91 Remove old intrinsic declarations and usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32129 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 20:30:20 +00:00
Reid Spencer
69ccadd753 Use the llvm-upgrade program to upgrade llvm assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:23:10 +00:00
Reid Spencer
fd57ad787f Expand test to cover the non-overloaded variants of the arithmetic and
floating point intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25431 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 01:17:06 +00:00
Reid Spencer
87bb7c61ac Add note to self to complete the testing of all intrinsic functions as
specified in the LangRef document.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21807 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-09 04:47:32 +00:00
Andrew Lenharth
f166ec612e yea yea yea
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21673 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-03 17:00:48 +00:00
Andrew Lenharth
279a7b21bb pre add count tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21671 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-03 16:49:48 +00:00
Chris Lattner
47adf21d06 Add a test for llvm.prefetch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20379 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-28 19:31:42 +00:00
Tanya Lattner
3f7706b5d2 Added RUN lines and dejagnu support for Feature dir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17568 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 06:08:43 +00:00
Chris Lattner
5e9a7ca75a Right, stop being silly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-15 21:29:40 +00:00
Chris Lattner
6c07f30dbe Add a nan, stop testing isnan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-15 21:29:01 +00:00
Alkis Evlogimenos
9685372062 Add the isunordered intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-12 19:19:14 +00:00
Chris Lattner
86ee776681 I misled Alkis: LLVM should have isnan, not isunordered.
isunordered(X, Y) === isnan(X) | isnan(Y)

Remove isunordered, add isnan.

Modernize testcase


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14133 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 02:29:57 +00:00
Alkis Evlogimenos
fd39b30a7a Add feature test for llvm intrinsics. It currently contains only the "isunordered" intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14126 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 01:06:40 +00:00