Commit Graph
2792 Commits
Author SHA1 Message Date
David Nadlinger 6449d5dea2 Fix MinGW names for naked functions. 2013-02-13 00:07:55 +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 3662b06a88 Remove unused variable. 2013-02-13 00:07:52 +01:00
David Nadlinger 539f7bba82 Also force -fno-rtti on MinGW. 2013-02-13 00:07:51 +01:00
David Nadlinger ad53d9e558 MinGW support in Port. 2013-02-13 00:07:50 +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 8b71c78571 Minor code cleanup.
No functionality change intended.
2013-02-11 08:25:30 +01:00
Sebastian Graf 673a974260 Un-unroll static array,
[David Nadlinger] Note that DtoStructLiteralValues was/is used
only once across the codebase.
2013-02-11 04:20:59 +01:00
Sebastian Graf 5ae17a59e4 Fixed broken static struct member initializer 2013-02-11 04:20:59 +01:00
sgraf812 db9edaf053 Fix #265: Use declared struct type in initexpr. 2013-02-11 04:20:59 +01:00
David Nadlinger c77a6341af Merge pull request #287 from kinke/master
Win64 ABI support
2013-02-10 14:30:22 -08:00
Martin 51b45675cc Support for Windows x64 ABI. 2013-02-10 22:08:35 +01:00
David Nadlinger 0d0608a309 Merge pull request #285 from klickverbot/old-llvm-opt
Reenable druntime optimizations on pre-3.2 LLVM versions.
2013-02-09 02:41:12 -08:00
David Nadlinger e507307b95 Reenable druntime optimizations on pre-3.2 LLVM versions. 2013-02-09 11:04:55 +01:00
David Nadlinger d49e1529ed Revert "Revert "Fix overly conservative inlining prediction".",
The previous failures were caused by the issue in
callWithStackShell(), which is fixed now.

This reverts commit 4a6444c320.
2013-02-09 10:42:52 +01:00
David Nadlinger 637239a5c7 Folded in callWithStackShell() fix. 2013-02-09 10:42:52 +01:00
David Nadlinger fa6612eb69 Proper merge of ldc-merge-2.061 druntime branch into main ldc branch. 2013-02-08 16:57:02 +01:00
David Nadlinger 70dedd14e2 Some more assert(false) -> llvm_unreachable. 2013-02-08 16:46:05 +01:00
David Nadlinger d13a997bd0 Added back NULL returns accidentally removed in 8ff3a8060.
No functionality change, as the return value wasn't used
anywhere.
2013-02-08 16:37:52 +01:00
David Nadlinger 8c2c8a9a14 Merge pull request #283 from klickverbot/master
Cleanup.
2013-02-07 13:10:09 -08: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 5616753768 Consistently use quotes for LLVM includes. 2013-02-07 21:20:54 +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 060ba45c8e druntime/dmd-testsuite test fixes. 2013-02-06 22:15:37 +01:00
David Nadlinger 6d933f1a41 Merge branch 'master' into merge-2.061-2. 2013-02-04 04:01:38 +01:00
David Nadlinger 88b8ba1053 extern(D): Return static arrays via sret parameters.
On x86_64, a proper solution (see GitHub #120) is still needed,
but this will have to wait until the special case for extern(D)
is gone from the implementation.

We need this right now as std.digest.md in 2.061 triggers a
miscompilation issue in the LLVM x86 backend (not the optimizer!)
when returning them directly as LLVM arrays.
2013-02-04 03:26:18 +01:00
David Nadlinger 2be27279c7 Added x86_64 System V ABI extern(D) TODO note. 2013-02-04 03:26:08 +01:00
kai 104cd77e9c Merge branch 'master' into merge-2.061-2 2013-02-03 15:50:39 +01:00
kai f806ec0ed5 Attribute holds no longer multiple values in LLVM 3.3.
The solution is to replace Attribute with AttrBuilder in IrFuncTyArg.
Then the argument attributes can be easily manipulated and transformed
into the final AttributeSet.
2013-02-03 15:09:36 +01:00
kai 0ff8d2f9f1 Fix a compile error with LLBM 3.3 2013-02-03 12:29:32 +01:00
kai 6f224c3fdb Fix some compile warnings for LLVM 3.0 2013-02-03 12:26:48 +01:00
kai 23f3fd18f1 Merge branch 'master' into merge-2.061-2 2013-02-03 10:54:57 +01:00
Kai Nacke b1cdbda82b Merge pull request #279 from redstar/attr
Replace AttributeWithIndex for LLVM 3.3.
2013-02-02 14:13:23 -08:00
kai fffb23f7ce Replace AttributeWithIndex for LLVM 3.3.
The helper class AttribteWithIndex is gone in LLVM 3.3. Instead a
combination of AttrBuilder and AttributeSet must be used.
2013-02-02 22:04:19 +01:00
kai bfc23acf30 Merge branch 'master' into merge-2.061-2 2013-02-02 15:27:51 +01:00
Kai Nacke a79d7e13d0 Merge pull request #278 from redstar/maint
Small changes
2013-02-02 06:24:35 -08:00
kai 9081102f24 Use AttrBuilder for LLVM >= 3.2.
Due to a misunderstanding of the new semantics of the Attribute(s) class,
this class was used in places where class AttrBuilder should be used.
2013-02-02 15:01:13 +01:00
kai 045d50deb5 Replace SmallVector/vector with C array for type lists 2013-02-02 15:01:13 +01:00
kai c174f6d689 Fix struct literal rvalue change 2013-01-30 07:14:49 +01:00
kai 26e6503258 Fix struct literal rvalue change 2013-01-30 07:13:12 +01:00
David Nadlinger e43759cbc7 Merge pull request #273 from kinke/merge-2.061-2
Merged x86 and x86_64 assembly parsers.
2013-01-29 04:53:15 -08:00