Commit Graph

23 Commits

Author SHA1 Message Date
Erik Eckstein
da0dea1ffb tests: adapt some optimizer tests for rebranch
rdar://133510613
2024-08-09 10:59:17 +02:00
Erik Eckstein
af9ef3c95c tests: adapt two tests for read-only-static objects
rdar://121344568
2024-01-23 09:34:44 +01:00
finagolfin
75bfa4422a [android][test] Fix five tests that are failing on the community Android CI (#69189)
Update the Android doc with info about the latest LTS NDK not working.
2023-10-16 10:44:56 -07:00
Andrew Trick
6eb6311857 Fix test character_literals.swift. Requires 64-bit. 2023-09-11 09:10:54 -07:00
Andrew Trick
74362d23d5 Remove CPU requirement from test/SILOptimizer/character_literals.swift
Since LLVM doesn't support targeting core2, presumably we don't
need to worry about older targets anymore.
2023-09-01 15:48:06 -07:00
Andrew Trick
d1f3d7b503 Update SILOptimizer/character_literals.swift for arm64
This very old test used out-dated target flags as a temporary
workaround. The test only needs to pass on the most widespread target
as a sanity check.
2023-08-25 19:24:46 -07:00
Arnold Schwaighofer
fc766a39d3 Fix some more tests 2023-06-29 16:16:56 -07:00
Arnold Schwaighofer
c1a93e0bde Move tests over to use the %use_no_opaque_pointers option 2023-06-14 10:49:48 -07:00
Erik Eckstein
ed54253d29 SIL Optimizer: remove legacy C++ passes
They were used as a backup during the transition to Swift passes. Now they are not needed anymore.
2022-10-20 18:31:06 +02:00
Becca Royal-Gordon
04f82b424c [NFC] Emit descriptive string constant names
Modify IRGen to emit “anonymous” string constants with names of the form `@.str.<len>.<contents>` (with a special mangling for internal `\0` characters). This makes it much easier to write IRGen tests that check for the contents of strings, because matching the constant name also implies that the constant has the expected content.
2022-09-21 11:40:15 -07:00
Kuba Mracek
4271edde6b Add an end-to-end test for ThinLTO (-lto=llvm-thin flag), fix compiler crashes, fix tests 2021-12-13 16:59:32 -08:00
Michael Ilseman
5a6d2dfa59 [String] Switch ABI to only use 4 discriminator bits.
In anticipation of potential future HW features, e.g. armv8.5 memory
tagging, only use the high 4 bytes as discriminator bits in
_BridgeObject rather than the top 8 bits. Utilize two perf flags to
cover this instead. This requires shifting around a fair amount of
internal complexity.
2018-12-19 13:54:50 -08:00
Michael Ilseman
921bb996ba [test] Adjust test: we do more constant folding than before! 2018-11-04 10:42:42 -08:00
Michael Ilseman
e6582c37ee [test] Adjust String tests for UTF-8 representation.
Adjust tests for the UTF-8 representation, in preparation for 32-bit
support. Includes UTF-8 literal update.
2018-11-04 10:42:41 -08:00
Michael Ilseman
f27d3db9b5 [tests] Fix, cleanup, and clarify some SIL character tests 2018-11-04 10:42:40 -08:00
Erik Eckstein
217a317791 tests: Remove an obsolete fixme-comment from the character_literals test 2018-05-29 11:01:03 -07:00
David Zarzycki
a13e33a432 [Tests] Make assumption about SSE code gen explicit 2017-11-09 09:03:33 -05:00
Dave Abrahams
2778dc85ea Add and use _ExpressibleByBuiltinUTF16ExtendedGraphemeClusterLiteral 2017-06-02 07:01:03 -07:00
Dave Abrahams
562fd79aa6 [stdlib] Encode small Characters as UTF-16
This takes care of the standard library portion, but we need a new
BuiltinUTF16ExtendedGraphemeClusterLiteralConvertible protocol in order to
fully recover the performance of character literals.

Note that part of the character_literals.swift test is currently disabled.  That
will need to be fixed before we can merge this work.
2017-06-01 20:57:25 -07:00
Erik Eckstein
72dd2fe084 tests: adapt the character_literals test
and re-enable it

https://bugs.swift.org/browse/SR-5064
2017-06-01 10:10:00 -07:00
Dave Abrahams
82660324b9 Annotate some XFAILs with Jira/Radar links 2017-06-01 08:26:26 -07:00
Dave Abrahams
b2e4bd5d09 [stdlib] Replace _HeapBuffer with a thin wrapper
...over ManagedBufferPointer
2017-06-01 04:40:52 -07:00
Erik Eckstein
155db0a4bd Let Character literals, which fit into 64 bits, be folded into a single integer constant.
This is done by ensuring that the corresponding Character constructor is inlined. llvm will do the constant folding.
Also add a test which checks this.

It makes character literals much faster (3x improvement for the CharacterLiteralsSmall benchmark)
And it removes _a lot_ of redundant code (~80% for the CharacterLiteralsSmall benchmark)
2017-05-03 09:10:21 -07:00