David Nadlinger
30bf4e121f
Do not optimize for host CPU by default.
...
GitHub: Fixes #323 .
2013-05-09 22:15:19 +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
David Nadlinger
d4b391249d
Removed redundant global.params.os field.
...
I hope I have untangled the checks for "native" Windows (Triple::Win32)
vs. Windows/MinGW/Cygwin (Triple::isOSWindows) correctly.
MinGW needs some default libraries as well, has to be fixed later.
2013-02-07 21:20:54 +01:00
David Nadlinger
4e02f41f31
Factored out output name determination logic.
2013-02-07 17:36:55 +01:00
David Nadlinger
5f3ba41574
Removed redundant global.params.cpu field.
...
Now that we have global.params.targetTriple, the information
is only duplicated.
2013-02-07 17:36:54 +01:00
David Nadlinger
bee0b9eba1
Remove global.params.isLE.
2013-02-07 14:37:21 +01:00
David Nadlinger
8ff3a8060a
Use llvm_unreachable instead of assert(0).
...
Also removed some unused functions.
2013-02-07 03:38:15 +01:00
David Nadlinger
28a65ff689
Fix D1 build.
2013-02-07 00:49:52 +01:00
David Nadlinger
30caa4bfe6
Merge branch 'master' into merge-2.061-2
2013-01-12 01:27:02 +01:00
kai
6ddb524b91
More LLVM 3.3 changes
2013-01-11 22:46:36 +01:00
kai
a11459bc31
"The Great Renaming" continues.
...
More changes to match the renamed files of LLVM 3.3.
2013-01-06 17:17:30 +01:00
David Nadlinger
43ca6a9581
LDMD: Fix -deps generation.
2013-01-04 16:48:10 +01:00
David Nadlinger
5c518a16ec
Merged 2.061 frontend.
2013-01-04 06:22:53 +01:00
David Nadlinger
2f8705f4d6
Don't pass file name to executable on '-run'.
2013-01-04 01:42:01 +01:00
David Nadlinger
615a2b5839
LDMD: Fixed -run parameter parsing.
2013-01-03 21:12:56 +01:00
kai
272e7b7a55
Follow "The Great Renaming" in LLVM 3.3
...
This time VMCore was renamed to IR. Several top level include
files were moved to new subfolder IR.
2013-01-03 08:52:23 +01:00
David Nadlinger
59a4a02e49
Cleanup: Avoid signed/unsigned comparisons.
...
The ones ones left are for DMD-defined constants.
2012-12-20 01:21:09 +01:00
David Nadlinger
fca550e534
Cleanup: Remove warning overrides and fix two more warnings.
2012-12-20 01:00:57 +01:00
David Nadlinger
2988bc46e0
Removed long obsolete (and broken) LLVM IR annotation code.
...
If someone wants to redo this properly, an idea that actually works
would be to use a custom llvm::AssemblyAnnotationWriter.
2012-12-19 01:50:48 +01:00
kai
ca2cc75567
Mark LDC changes and remove unused debug? switches.
...
The Param struct is very different between DMD and LDC. This is a start
to mark the differences. This also includes identifying unused switches
- like the debug? switches.
2012-12-17 00:08:46 +01:00
David Nadlinger
b713afe9c4
Cleaned up version output.
...
I removed the copyright notice. I don't think we are obliged to
display it for DMD; on the other hand, if we do, we might also
have to display the libconfig one (LGPL). Thus, this seemed like
the better choice.
The indentation is to align with the registered target output,
which we cannot control.
2012-12-16 18:08:19 +01:00
David Nadlinger
2f54d8ec86
Fixed LDMD help output indentation.
2012-12-16 18:07:53 +01:00
David Nadlinger
1bb14c45d2
Removed trailing whitespace.
2012-12-16 17:19:15 +01:00
David Nadlinger
9458911839
Added LLVM-style license headers to all our files.
2012-12-16 17:19:14 +01:00