Commit Graph

190 Commits

Author SHA1 Message Date
David Nadlinger
bed6243481 LDC does not support -transition yet. 2013-06-15 22:57:57 +02:00
kai
f1c71e4bac Make ldc compatible with LLVM 3.4
Development of LLVM 3.4 started with a cleanup of the path class (PathV1).
The changes here let ldc compile at least with rev. 184039 of LLVM.
2013-06-15 19:52:29 +02:00
kai
9f921b25d9 Make ldmd compatible with LLVM 3.4
Development of LLVM 3.4 started with a cleanup of the path class (PathV1).
The changes here let ldmd compile at least with rev. 184039 of LLVM.
2013-06-15 19:13:45 +02:00
David Nadlinger
fd3c696d94 Call Expression::init() during startup.
Was added in 2.063.
2013-06-12 20:16:37 +02:00
David Nadlinger
292caa1438 Merge the 2.063 frontend. 2013-06-12 20:16:37 +02:00
David Nadlinger
b2f2afad29 LDMD: Made error message on compiler execution error clearer.
It is also triggered when the compiler exits with a signal, etc.
2013-06-07 03:20:32 +02:00
David Nadlinger
005f993982 Merge branch 'release-0.11.0'.
Conflicts:
	gen/llvmhelpers.cpp
2013-06-02 21:53:41 +02:00
David Nadlinger
ec59399e21 Change all URLs to point to wiki.dlang.org for the time being. 2013-06-02 21:27:02 +02:00
David Nadlinger
2617db0395 Merge pull request #346 from klickverbot/m32m64
Only specify -m32/-m64 for archs where the variants exist.
2013-05-31 12:10:49 -07:00
David Nadlinger
c02b38fe9a Removed LLVM 3.0 compatibility code.
There might be still some pieces left here and there, and
there is certainly code that could be rewritten in a nicer
way with the 3.0 requirement out of the picture.
2013-05-31 20:48:38 +02:00
Hans W. Uhlig
4f6204f191 Adding Space to Literal 2013-05-28 17:38:09 -07:00
kai
4343965106 Use /LARGEADDRESSAWARE:NO only for debug builds with LLVM 3.4.
Most of the LLVM bugs regarding relocations are fixed now.
2013-05-24 16:07:25 +02:00
David Nadlinger
edbace8ae8 Default to PIC on OS X.
driver/target.h is due for a refactoring after the next
release is branched off.
2013-05-19 21:19:37 +02:00
kai
a31d704941 Add missing include for Windows 2013-05-13 18:47:59 +02:00
David Nadlinger
db270a9a94 Replaced response_expand with BSD-licensed reimplementation.
Cleanup to follow later.

GitHub: Fixes #267.
2013-05-12 13:38:23 +02:00
David Nadlinger
fc8e0c4c20 Revert -float-abi implementation.
The new command line option conflicted with a builtin LLVM 3.0
one. The functionality will be added back in after the 0.11.0
release branch has been created.

This reverts commit 6a1bc70bd7 and
subsequent fixes.
2013-05-12 00:18:44 +02:00
David Nadlinger
23d82b9620 Only specify -m32/-m64 for archs where the variants exist. 2013-05-11 21:49:19 +02:00
David Nadlinger
8da8bdd209 LLVM pre-3.2 does not have llvm::Triple::Android.
Strangely enough, the Travis pull request status was
definitely green before I merged it in.
2013-05-11 21:44:05 +02:00
David Nadlinger
e37f0e0d35 Fix ARM default floating-point ABI.
It shouldn't really matter, as we probably aren't going to
support anything but AAPCS anytime soon.
2013-05-11 21:33:20 +02:00
David Nadlinger
6a1bc70bd7 Added -float-abi and auto-detection logic for ARM.
Even though this argument design conflates two separate concepts
(ABI and hardware/software implementation), I chose to go
with it since users are liekly know it from GCC and the
combination of softloat operations with hardfloat ABI makes
no sense.

I didn't implement it for old LLVM versions, as ARM EABI
exception handling requires LLVM 3.3+ anyway, without which
LDC would be useless anyway.
2013-05-11 21:07:54 +02:00
David Nadlinger
e5d6cf4dd8 Merge pull request #341 from klickverbot/default-target-cpu
Use generic target CPU by default
2013-05-09 13:16:02 -07:00
David Nadlinger
30bf4e121f Do not optimize for host CPU by default.
GitHub: Fixes #323.
2013-05-09 22:15:19 +02:00
David Nadlinger
251607a1df LLVM 3.3+: Initialize TargetTransformInfo. 2013-05-09 19:51:57 +02:00
David Nadlinger
56e35e31a0 Factored out target creation logic to separate functions.
Care was taken to avoid dependencies on the host of
command line globals.

std::string should probably replaced by llvm::StringRef
in some places.
2013-05-09 17:27:35 +02:00
kai
51e1a6cb54 Replace hard-coded path with registry lookup on Windows.
A hard-coded path does not play nicely with a generic installer.
The installation path is now looked up in the registry with the
key SOFTWARE\\ldc-developers\\LDC\\<version>\\Path.
It is the responsibility of the installer to set this value.
2013-05-06 07:52:25 +02:00
kai
41bbc8fbf5 Rewrite the llvm::Linker fix for LLVM 3.3.
The previous commit changed the behaviour a bit. This solution should have an identical result.
2013-05-05 20:27:12 +02:00
kai
ebaa3f08b3 Fix LLVM 3.3 build error.
llvm/Linker.h was changed. This commit reflects the new logic.
2013-05-05 18:42:14 +02:00
kai
308919f371 Revert "Linker flag /LARGEADDRESSAWARE is not required with LLVM 3.3.".
There is still an issue left in LLVM. I need to investigate this further.
2013-04-20 14:07:30 +02:00
kai
d8aed3627e Linker flag /LARGEADDRESSAWARE is not required with LLVM 3.3.
With a recent commit support for the missing relocations was added.
This change removes the flag from the linker command line.
2013-04-15 07:08:46 +02:00
David Nadlinger
b8cdfad8c0 global.params.useAvailableExternally -> global.inExtraInliningSemantic.
This will hopefully make the associated code a bit easier
to read.
2013-04-01 21:17:13 +02:00
kai
b13f3d3164 Merge branch 'master' into merge-2.062
Conflicts:
	runtime/druntime
2013-03-24 19:39:39 +01:00
David Nadlinger
862ece3ca4 Fix -lib with fully specified output name and '-c'.
The whole output path handling code is in dire need of a
cleanup/rework.
2013-03-18 13:33:55 +01:00
David Nadlinger
bb5b60e591 Make '-O' equivalent to '-O3'.
I have seen it used several times in benchmarks comparing it
to 'gdc -O3' and 'dmd -O -inline' now, so people apparently
expect it to yield the highest available optimization level.
2013-03-17 02:09:54 +01:00
David Nadlinger
153caa9bf7 Print nice error message for wrong '-run' argument.
This fixes DMD test case 'diag6743'.
2013-03-16 14:02:01 +01:00
David Nadlinger
58908e044a Removed DMD code remnants from driver/main.cpp. 2013-03-16 13:37:07 +01:00
David Nadlinger
32eb24eebf Added '-Hkeep-all-bodies' switch.
The same behavior is triggered by the '-inline' switch for
DMD, but this doesn't quite translate to LDC.
2013-03-16 11:52:19 +01:00
David Nadlinger
74f92391c5 Merge branch 'master' into merge-2.062
Conflicts:
	runtime/druntime
2013-03-11 22:14:27 +01:00
jaten
6f6c776e9c initialize Params properly in constructor. 2013-03-11 00:38:43 -07:00
kai
d04864103e Use the new Port::stricmp() method. 2013-03-08 06:53:12 +01:00
kai
bf52dbe389 Merge of DMD 2.062. 2013-03-06 18:18:56 +01:00
kai
aa4fe6a748 Remove DMDV1 and DMDV2. 2013-03-06 18:18:00 +01:00
kai
1e4a8fffc2 Remove DMDV1 and DMDV2. 2013-03-06 10:20:24 +01:00
David Nadlinger
92899dff96 Link in ws2_32 by default on MinGW. 2013-02-14 18:14:49 +01:00
David Nadlinger
8fd3eda728 Use the system assembler on MinGW.
MC does not support writing out the exception handling tables
to COFF files yet.
2013-02-13 00:07:55 +01:00
David Nadlinger
ccffe99b8a Minor cleanup (avoid forward decl). 2013-02-13 00:07:54 +01:00
David Nadlinger
f417500abc MinGW compilation fixes. 2013-02-13 00:07:53 +01:00
David Nadlinger
e7bbacadb7 Removed useless -quiet switch. 2013-02-13 00:07:49 +01:00
David Nadlinger
243083b88c Factored out tool invocation code into separate file. 2013-02-13 00:07:48 +01:00
David Nadlinger
0a96aea868 Sort includes according to style guidelines:
1. Main include corresponding to .cpp file, if any.
 2. DMD and LDC includes.
 3. LLVM includes.
 4. System includes.

Also updated a few include guards to match the default format.
2013-02-07 21:20:55 +01:00
David Nadlinger
6de735de31 Small cleanup. 2013-02-07 21:20:54 +01:00