1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

22 Commits

Author SHA1 Message Date
Matt Arsenault
542212f82c Replace hardcoded intrinsic list with speculatable attribute.
No change in which intrinsics should be speculated.

llvm-svn: 301995
2017-05-03 02:26:10 +00:00
Raul E. Silvera
2e59d34e5d 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.

llvm-svn: 203037
2014-03-06 00:18:15 +00:00
Bill Wendling
74351693ea 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 }

llvm-svn: 175605
2013-02-20 07:21:42 +00:00
Chris Lattner
b051169784 rdar://11542750 - llvm.trap should be marked no return.
llvm-svn: 157551
2012-05-27 23:20:41 +00:00
Chandler Carruth
2bedf185c9 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.

llvm-svn: 146370
2011-12-12 11:59:10 +00:00
Chris Lattner
84bf52737a 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.

llvm-svn: 145174
2011-11-27 07:42:04 +00:00
Dan Gohman
cce2b42edc Upgrade these tests for the current intrinsic prototypes.
llvm-svn: 49669
2008-04-14 18:19:18 +00:00
Tanya Lattner
726c082fd5 Remove llvm-upgrade and update tests.
llvm-svn: 47784
2008-03-01 07:38:40 +00:00
Reid Spencer
f5e95d339f 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.

llvm-svn: 35548
2007-04-01 07:36:28 +00:00
Reid Spencer
8cf118be24 Remove old intrinsic declarations and usage.
llvm-svn: 32129
2006-12-02 20:30:20 +00:00
Reid Spencer
7f5ef2d7a5 Use the llvm-upgrade program to upgrade llvm assembly.
llvm-svn: 32115
2006-12-02 04:23:10 +00:00
Reid Spencer
21bfb7f6cb Expand test to cover the non-overloaded variants of the arithmetic and
floating point intrinsics.

llvm-svn: 25431
2006-01-19 01:17:06 +00:00
Reid Spencer
5eba8c27f0 Add note to self to complete the testing of all intrinsic functions as
specified in the LangRef document.

llvm-svn: 21807
2005-05-09 04:47:32 +00:00
Andrew Lenharth
0d415d9fa4 yea yea yea
llvm-svn: 21673
2005-05-03 17:00:48 +00:00
Andrew Lenharth
84cde851a5 pre add count tests
llvm-svn: 21671
2005-05-03 16:49:48 +00:00
Chris Lattner
bc5b5ded4e Add a test for llvm.prefetch.
llvm-svn: 20379
2005-02-28 19:31:42 +00:00
Tanya Lattner
8cb5895d16 Added RUN lines and dejagnu support for Feature dir.
llvm-svn: 17568
2004-11-07 06:08:43 +00:00
Chris Lattner
bb0198d8d2 Right, stop being silly
llvm-svn: 14184
2004-06-15 21:29:40 +00:00
Chris Lattner
1b81b46323 Add a nan, stop testing isnan
llvm-svn: 14183
2004-06-15 21:29:01 +00:00
Alkis Evlogimenos
9b28aef6cb Add the isunordered intrinsic.
llvm-svn: 14159
2004-06-12 19:19:14 +00:00
Chris Lattner
145f2e2936 I misled Alkis: LLVM should have isnan, not isunordered.
isunordered(X, Y) === isnan(X) | isnan(Y)

Remove isunordered, add isnan.

Modernize testcase

llvm-svn: 14133
2004-06-11 02:29:57 +00:00
Alkis Evlogimenos
792243f603 Add feature test for llvm intrinsics. It currently contains only the "isunordered" intrinsic
llvm-svn: 14126
2004-06-11 01:06:40 +00:00