Ivan Butygin
a26bfc1223
Refactor code to hide direct IrFunction->func usage and add convenient functions ( #1911 )
2017-01-17 22:40:32 +01:00
Johan Engelen
a1de24d837
Implement the @allocSize magic UDA. ( #1610 )
2016-12-19 11:38:16 +01:00
Johan Engelen
fd73375f68
Refactoring of UDA code (from dcompute branch) [NFC] ( #1877 )
...
Also see PR #1800 .
2016-11-13 11:41:23 +01:00
David Nadlinger
8a9c7cf463
gen: Remove some redundant elses [nfc]
2016-09-03 14:38:10 +01:00
David Nadlinger
11572489d5
clang-format again some files touched in the next commits [nfc]
2016-09-03 00:52:00 +01:00
Johan Engelen
c6ba2dc29b
Fix a few clang warnings. [NFC]
2016-07-27 20:21:02 +02:00
Johan Engelen
3469151500
Implement @optStrategy UDA.
...
Resolves #1549 .
2016-07-24 16:05:24 +02:00
Johan Engelen
108acee6b7
Add @fastmath and @llvmFMF LDC magic attributes to enable aggressive math optimizations.
2016-05-22 20:06:57 +02:00
Johan Engelen
b25b7966cc
Pass IrFunction* to applyFuncDeclUDAs instead of irfunc->func (llvm::Function*) such that LDC's UDAs can set function properties that are not part of llvm::Function.
2016-05-22 19:56:56 +02:00
Johan Engelen
4b108025ef
Add @ldc.attributes.llvmAttr
.
...
Partly resolves #1438
2016-04-18 13:50:03 +02:00
Johan Engelen
15aebef5be
Merge branch 'master' into merge-2.070
2016-03-29 11:48:14 +02:00
Johan Engelen
69825a6fb9
Add the @ldc.attributes.weak linkage attributes for global symbols.
2016-03-27 22:08:23 +02:00
David Nadlinger
90c213b52e
Adapt to changed StringExp API
...
Not tested yet. There is also quite a bit of potential for
further cleanup of the glue layer string manipulation code.
2016-02-14 19:35:40 +01:00
Johan Engelen
f29aec2072
Implement the @ldc.attributes.target UDA.
2016-01-04 02:04:25 +01:00
Johan Engelen
8d078f3bd8
Implement @ldc.attributes.section("...") for functions.
2015-12-31 12:15:40 +01:00
David Nadlinger
65dfd6912c
uda: Handle symbols with null ModuleDeclaration
2015-11-04 14:50:49 +02:00
David Nadlinger
4f2f1f87e5
Implement @ldc.attributes.section(...) for variables
...
This now uses actual struct literals for attributes that can be generated
by arbitrary CTFE expressions. This should allow for quite a bit of
flexibility when targeting multiple compilers.
2015-11-03 21:33:05 +02:00