Commit Graph

17 Commits

Author SHA1 Message Date
Anthony Latsis
0a1b8b0d50 [test] Fix misspelled FileCheck directives 2025-05-29 15:09:36 +01:00
Dario Rexin
48ee212303 [IRGen] Use at least Int8 for extra tag bits
rdar://149985633

Using at least Int8 here allows LLVM to apply more optimizations, reducing code size, avoiding stack allocations and as a result often eliminating complete stack frames.
2025-04-30 15:55:17 -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
Michael Gottesman
fd4828e40a Eliminate -assume-parsing-unqualified-ownership-sil from tests.
I am doing this separately from the actual change to eliminate the option to
make it easier to review.
2018-12-19 12:54:13 -08:00
Greg Parker
b7f744c302 [test] Replace CPU=i386_or_x86_64 with CPU=i386 || CPU=x86_64. (#11889) 2017-09-12 19:34:08 -07:00
Greg Parker
6295f3d8b3 Revert "[test] Remove CPU=i386_or_x86_64 hack."
Swift master uses LLVM swift-4.0-branch, which does not yet have
the lit change implementing this syntax.

This reverts commit dfd10ae485.
2017-02-28 14:59:31 -08:00
Greg Parker
dfd10ae485 [test] Remove CPU=i386_or_x86_64 hack.
LLVM lit now supports boolean expressions in REQUIRES: directives.
2017-02-16 16:27:15 -08:00
Arnold Schwaighofer
39fa2f0228 Use the swift calling convention for swift functions
Use the generic type lowering algorithm described in
"docs/CallingConvention.rst#physical-lowering" to map from IRGen's explosion
type to the type expected by the ABI.

Change IRGen to use the swift calling convention (swiftcc) for native swift
functions.

Use the 'swiftself' attribute on self parameters and for closures contexts.

Use the 'swifterror' parameter for swift error parameters.

Change functions in the runtime that are called as native swift functions to use
the swift calling convention.

rdar://19978563
2017-02-14 12:17:57 -08:00
Michael Gottesman
20dd563efb [semantic-arc] Update tests for qualified/unqualified ownership and SILGen emission of copy_value, destroy_value. 2016-10-29 20:11:09 -07:00
Dmitri Gribenko
d175b3b66d Migrate FileCheck to %FileCheck in tests 2016-08-10 23:52:02 -07:00
Joe Groff
8cb1175e49 IRGen: Emit public definitions with protected visibility on ELF.
This prevents the linker from trying to emit relative relocations to locally-defined public symbols into dynamic libraries, which gives ld.so heartache.
2016-02-08 13:09:27 -08:00
Mark Lacey
1970f137ad Reapply "IRGen: Fix select_enum for single-payload, multi-empty-case enums."
This reapplies 8643d14 with a test update to change the data type to
Int32 so that it will pass on 32- and 64-bit targets with the same IR
generated.
2015-12-17 08:40:51 -08:00
Mark Lacey
997f6d4103 Revert "Reapply "IRGen: Fix select_enum for single-payload, multi-empty-case enums.""
This reverts commit 299a5681ea because it
looks like the test is broken for the iphonesimulator-i386 target.
2015-12-16 21:32:40 -08:00
Mark Lacey
299a5681ea Reapply "IRGen: Fix select_enum for single-payload, multi-empty-case enums."
This reapplies 8643d14. It was speculatively reverted in e3256c8 due
to the concern that it might have been the cause of a build break.
2015-12-16 17:08:51 -08:00
Ted Kremenek
e3256c8626 Revert "IRGen: Fix select_enum for single-payload, multi-empty-case enums."
Speculatively revert commit 8643d146a0 because
it appears to be the likely culprit breaking tests on iOS.
2015-12-15 21:15:06 -08:00
Joe Groff
8643d146a0 IRGen: Fix select_enum for single-payload, multi-empty-case enums.
If the payload has insufficient extra inhabitants and there's more than one empty case that requires spilling extra tag bits, we need to check the payload part of the value to discriminate them.
2015-12-15 18:59:27 -08:00