kinke
ae9d43c167
Use LLVM headers for shared codegen command-line options ( #2148 )
...
I.e., llvm/CodeGen/CommandFlags.h which in turn includes
llvm/MC/MCTargetOptionsCommandFlags.h.
This gets rid of a few duplicates on our side and includes about 35
(depending on LLVM version) new command-line options. LLVM provides a
helper function to set up the TargetOptions according to (most of) these
options.
Newer LLVM versions may add new options and we'll automatically inherit
them, including setting up the TargetOptions accordingly.
I did my best (TM) to remove a few unused/undesirable options and hide all
remaining new ones except for `-fp-contract`. The lists will need to be
tweaked from time to time.
2017-09-20 01:04:43 +02:00
kinke
960d8c594e
Fix build for LLVM without DCompute targets ( #2320 )
2017-09-10 14:01:16 +02:00
Nicholas Wilson
eedcb3d32d
Fix #2307 ( #2308 )
2017-09-08 19:45:48 +08:00
Nicholas Wilson
f27109c8e8
New spirv and 6.0 compilation fixes ( #2276 )
...
Update to a new SPIRV-LLVM and fix compilation issues for LLVM6.0
2017-08-18 15:23:56 +08:00
Martin
66241ab237
Merge branch 'master' into merge-2.074
...
Conflicts:
runtime/druntime
runtime/phobos
2017-07-28 00:13:20 +02:00
Nicholas Wilson
53ab7b2678
[dcompute] Hide more options ( #2234 )
2017-07-25 22:57:32 +02:00
Martin
cd4525748a
Merge branch 'master' into merge-2.074
...
Conflicts:
runtime/druntime
tests/d2/dmd-testsuite
2017-07-20 22:28:48 +02:00
Martin
1fb269f940
Drop support for LLVM < 3.7
2017-07-16 02:18:00 +02:00
Martin
45eacd0f32
Merge branch 'master' into merge-2.074
...
Conflicts:
runtime/druntime
runtime/phobos
2017-06-10 03:15:11 +02:00
David Nadlinger
747f7a3dfa
clang-format files touched in d01a91f7
[nfc]
...
Some housekeeping on files that recently saw large changes anyway.
2017-05-24 21:35:40 +01:00
Nicholas Wilson
ae6ff33fc1
[dcomptue] codegen ( #2126 )
...
* code generation
* simplify logic
* apply clang-format
* Undo completely inane choice by clang-format
* Guard the use of the command line args.
2017-05-24 08:55:32 +08:00
Martin
d01a91f755
Allow multiple occurrences for almost all command-line flags
...
Except for `-sanitize` and `-cache-prune*`.
2017-05-23 20:53:57 +02:00
Martin
85e004fdec
Merge branch 'master' into merge-2.074
...
Conflicts:
runtime/druntime
2017-05-16 21:16:43 +02:00
kinke
f3144a74f3
Merge pull request #2091 from JohanEngelen/saveoptrecord
...
Implement -fsave-optimization-record
2017-05-16 20:38:47 +02:00
Adrian Matoga
aafd6541c7
Add switch '-Xcc <ccflag>'. Fix #2093 . ( #2104 )
2017-05-16 20:23:02 +02:00
Martin
6a44d574dc
Support DMD's new undocumented -vcg-ast switch
2017-05-14 20:22:30 +02:00
Johan Engelen
3fd99eb207
Add -fsave-optimization-record option.
...
Resolves issue #2089
2017-05-04 11:07:16 +02:00
Martin
97188a1a27
Merge branch 'master' into merge-2.073
...
Conflicts:
tests/d2/dmd-testsuite
2017-03-09 01:11:03 +01:00
Martin
647e3b6fb2
Require CMake >= 2.8.9 and update Travis' CMake
...
The POSITION_INDEPENDENT_CODE target property seems to be supported since
CMake 2.8.9, and Ubuntu 12.04 uses 2.8.7.
2017-03-08 19:47:04 +01:00
Martin
9a1c4adbbc
Add hidden -ldmd option when invoking LDC via LDMD
...
Thus providing a generic way to slightly alter some command-line semantics
in DMD compatibility mode.
2017-03-08 19:47:04 +01:00
Martin
162c264450
Merge branch 'master' into merge-2.073
...
Conflicts:
runtime/phobos
2017-03-04 23:30:04 +01:00
Martin
0b03cda379
Add new switch -mv=<package.module>=<filespec>
2017-02-19 03:02:02 +01:00
Martin
8648b9305a
Add new switch -dip1000
2017-02-18 22:59:29 +01:00
kinke
99ea4103ef
Micro-optimization
2017-02-18 20:54:23 +01:00
David Nadlinger
ea61df26da
driver/cl_options: Hide more internal flags for LLVM 3.9.1
2017-02-18 20:54:15 +01:00
David Nadlinger
fabab3f7a8
driver/cl_options: clang-format [nfc]
2017-02-18 20:54:05 +01:00
David Nadlinger
d3b553bba5
driver/cl_options: Use array instead of a gazillion hide() function calls [nfc]
2017-02-18 20:52:45 +01:00
Martin
84e74e3932
Rework LDMD command-line translation and add -verrors-spec
...
Simplify LDMD quite a bit by translating the few different command-line
options directly in-place. This puts some more stress onto LDC's
command-line parsing, especially due to multiple occurrences of a single
Boolean option (e.g., '-o-') or mixtures of `-m64` and `-m32` etc. for
dmd-testsuite.
Also add new command-line option `-verrors-spec` showing gagged errors
(DMD's equivalent is `-verrors=<spec|limit>`) and sync the usage text with
DMD. LDMD now also recognizes `-h` (and `/?` on Windows).
2017-02-06 01:17:09 +01:00
Martin
dca21939e1
Merge 2.072.2 front-end
...
The part needing most attention was ddmd.root.ctfloat, ddmd.target (incl.
gen/target.cpp) and ddmd.builtin. The front-end is now prepared for
elaborate compile-time floating-point types to allow for proper cross-
compilation.
This version still uses the host's `real` type for compile-time reals,
except for MSVC hosts, which still use 64-bit doubles (when compiled with
DMD host compiler too).
Some other changes:
* semantic*() of Statements extracted from statement.d to statementsem.d
* mangle() -> mangleToBuffer()
* Identifier::string -> toChars()
* Token::float80value => floatvalue
* Dsymbol::isAggregateMember() => isMember()
* BoolExp is no more
* ddmd.root.ctfloat: LDC-specific CTFE builtins
2017-01-29 15:48:03 +01:00
Martin
29d52f0362
Sync command-line options and descriptions with DMD
2016-12-20 22:08:23 +01:00
Johan Engelen
cd3ae57d14
Implement -ffast-math.
...
Resolves #1874 .
2016-12-14 12:27:45 +01:00
Johan Engelen
b78f62c533
Refactor the machinery to add commandline options that clash with LLVM's options. This generalizes the piece of code that adds the "enable-color" option, such that it is easier to add other LLVM-clashing options (such as -ffast-math). [NFC]
2016-12-14 12:18:58 +01:00
Johan Engelen
f6b4bc29b9
Improve the -fprofile-instr-generate
cmdline option description.
2016-12-04 12:57:47 +01:00
LemonBoy
62a2252028
Implement the betterC switch like DMD does.
...
Namely, don't emit the ModuleInfo.
2016-11-25 17:40:35 +01:00
Remi Thebault
3b63effd3f
Implement -gline-tables-only (PR #1861 )
...
As per ldc-developers/ldc#1844 .
2016-11-12 20:16:41 +01:00
Johan Engelen
bb24fb2816
Add LTO support (full and thin), with -flto=thin|full
.
...
LTO needs linker support: I am only aware of support on OS X and Linux (through the LLVMgold plugin).
Resolves #693
2016-11-09 14:30:13 +01:00
LemonBoy
596fc82254
Implement -finstrument-functions.
...
Closes #1839 .
2016-11-06 23:17:04 +01:00
kinke
86d11c8ace
Merge pull request #1830 from kinke/dub
...
Create static libs in -od directory for LDMD only
2016-10-20 00:04:52 +02:00
Johan Engelen
9dad1609db
Merge pull request #1812 from JohanEngelen/rename-ir2obj
...
Rename "ir2obj-cache" to "cache"
2016-10-16 16:27:06 +02:00
Martin
141310c77c
Introduce (hidden) command-line option -cleanup-obj
...
Removing all generated object files on success.
2016-10-15 23:53:30 +02:00
Rainer Schuetze
0b55bd21d2
fix build against LLVM master: clEnumValEnd removed
2016-10-12 23:55:59 +02:00
Johan Engelen
e0c78fa198
Rename -ir2obj-cache-*
cmdline flags to -cache-*
, because the cache can be used for more things than just ir2obj caching.
...
Rename "ir2obj" namespace to "cache".
2016-10-12 18:58:01 +02:00
Johan Engelen
f6919e3fb6
ir2obj cache: Add all cmdline args to the hash, unless we are certain they can safely be ignored for ir2obj hashing.
2016-10-06 12:03:44 +02:00
Rainer Schuetze
5bcfb49b1b
Enable gdb tests in dmd-testsuite ( #1784 )
...
Introduce a hidden `-dwarf-version=<uint>` switch to support old gdb versions
used by Travis. Older versions only supporting DWARF-2 and/or not supporting
TLS correctly are detected in dmd-testsuite's CMakefile.
2016-09-27 01:26:15 +02:00
Martin
c748eb9ed0
Replace global.params.singleObj by global.params.oneobj
...
singleObj was LDC-specific.
2016-09-07 09:53:35 +02:00
Martin
aed881350a
Refactor output filename generation/validation
2016-09-07 09:53:35 +02:00
David Nadlinger
fa2080d80e
driver: CoverageParser::parse ArgName is unused [nfc]
2016-09-03 00:52:03 +01:00
David Nadlinger
49e16239f6
CoverageParser: Mark constructor as explicit [nfc]
2016-09-02 23:30:40 +01:00
Martin
16b2c8942f
Support parameterless '-deps' command-line option
...
In both LDC (undocumented) and LDMD. This should fix issue #1626 .
2016-08-28 02:43:48 +02:00
Johan Engelen
c7e0486205
Add IR-to-Objectcode caching with -ir2obj-cache=<cache dir>
.
2016-06-23 19:48:59 +02:00