Commit Graph

2354 Commits

Author SHA1 Message Date
David Nadlinger
1645eff596 Created separate tests directory for D1. 2012-09-07 03:51:31 +02:00
David Nadlinger
837ef30fec Merged DMD 2.060 frontend.
Upstream Git tag v2.060 (e8fe11c20249cb9e42538be88c99b74ede4d12e3).
2012-09-07 03:51:31 +02:00
David Nadlinger
e03e027002 Removed all CRLF line endings from DMD source.
Some files in our copy of the DMD 2 source had CRLF line endings.
This was not only inconsistent, but also made merging DMD patches
(where LF is used throughout) unnecessarily painful.
2012-09-07 03:51:31 +02:00
kai
1205e3ea83 Use TargetData to get size of certain types (instead of hard-coded values). 2012-08-25 01:29:42 +02:00
kai
2173b52aea Make LDC1 compile with LLVM 3.2 trunk. 2012-08-17 15:44:20 +02:00
kai
692d624db4 Make LDC1 compile again. 2012-08-17 15:34:17 +02:00
kai
e6a07ffdfe Several changes to optimizer related code.
- New functions codeGenOptLevel() and verifyModule() to remove code duplication
- Hidden option no-verify renamed to disable-verify and moved to optimizer (like opt tool)
- Removed global.params.noVerify
2012-08-16 23:26:52 +02:00
kai
34d595de26 Enable FunctionAttrsPass again.
This pass requires an alias analysis, which is also added.
2012-08-11 19:17:18 +02:00
David Nadlinger
56233a373c Merge pull request #151 from jerro/master
Add pragma for emitting LLVM shufflevector instructions.
2012-08-06 12:04:59 -07:00
Jernej Krempuš
100907ffa2 Added pragma shufflevector. 2012-08-06 20:50:33 +02:00
Jernej Krempuš
3d108ee684 Fixed a bug in gen/tollvm.cpp. 2012-08-05 18:46:52 +02:00
kai
5216fa48d8 Remove conditional compiled code by favouring the 3.1 solution. 2012-08-03 22:57:01 +02:00
kai
c01cae1c2b Prefer C++-style casts.
This is based on Item 2 of "More Effective C++". In general, the C++ cast operators are more expressive and easy to find,
e.g. by grep. Using const_cast also shuts up some compiler warnings.
2012-08-03 22:46:14 +02:00
kai
76cf66f50b Expose LLVM as global version symbol.
Required because prototypes of intrinsics changed between 3.0 and 3.1.
2012-08-03 16:44:34 +02:00
kai
6e427fe818 Prefer C++-style casts.
This is based on Item 2 of "More Effective C++". In general, the C++ cast operators are more expressive and easy to find,
e.g. by grep. Using const_cast also shuts up some compiler warnings.
2012-08-03 06:36:35 +02:00
kai
311297b096 Prefer C++-style casts.
This is based on Item 2 of "More Effective C++". In general, the C++ cast operators are more expressive and easy to find,
e.g. by grep. Using const_cast also shuts up some compiler warnings.
2012-08-03 06:32:23 +02:00
kai
2dbee75523 Prefer C++-style casts.
This is based on Item 2 of "More Effective C++". In general, the C++ cast operators are more expressive and easy to find,
e.g. by grep. Using const_cast also shuts up some compiler warnings.
2012-08-02 19:55:29 +02:00
kai
9dad0a6b3b Convert output of llvm-config --targets-built to a list. This fixes #148. 2012-08-01 06:47:37 +02:00
kai
8d06145ac0 Fixes ticket 457 from dsource.org.
-mattr=help does not printout help without source file
2012-07-29 20:46:14 +02:00
kai
e144d8d4ad In FindLLVM.cmake metachars must be escaped before embedding paths into regex. 2012-07-29 19:18:48 +02:00
kai
b53544b389 Simplify code by using the right type.
Removes some comditional compiling by replacing unsigned with llvm::Attributes.
2012-07-29 18:18:36 +02:00
kai
dbb5a34eda Add changes for LLVM 3.2. 2012-07-29 17:31:50 +02:00
kai
bf2aaaca84 More unification work. 2012-07-29 16:13:52 +02:00
kai
10a0bdf891 More unification work. 2012-07-29 15:19:13 +02:00
kai
e13b115583 More unification work. 2012-07-29 14:22:56 +02:00
kai
9bf65bc9a2 Start unification of master and llvm-3.1 branch. 2012-07-29 13:50:30 +02:00
kai
2addbd2b71 More changes to the build system.
- Relax version checking because we intend to have only a single branch
- Exclude ldfpu.asm from build with MSVC-32 (reported by huynh van sen)
- Fix FindLLVM.cmake to work on Windows again
2012-07-28 22:41:34 +02:00
kai
41bf3ea5c8 Fix warning about casting away constness by using const_cast<>. 2012-07-25 18:20:42 +02:00
Kai Nacke
ff7b4a78fd Merge pull request #146 from redstar/simplify2
Simplify CMakeLists.txt.
2012-07-25 09:13:46 -07:00
kai
508dd9ff70 Simplify CMakeLists.txt.
This version works with LLVM 3.0 and 3.1.
2012-07-24 23:33:15 +02:00
David Nadlinger
1c1c6894e0 Only link CURL when building Phobos as shared library. 2012-07-24 19:17:24 +02:00
David Nadlinger
61e4d9044a Fix build on Linux.
Sorry for that, seems to work on OS X, even on case-sensitive file systems.
2012-07-24 19:13:31 +02:00
David Nadlinger
cb94195439 Merge pull request #144 from dansanduleac/master
Fix missing curl dependency from phobos
2012-07-21 13:05:37 -07:00
Dan Sanduleac
5ed0ee96da Fix missing curl dependency from phobos 2012-07-21 15:57:58 -04:00
kai
54d054b00c Fix #142. 2012-07-20 18:43:32 +02:00
kai
a69c90ee6a Change error message for -mtriple argument. Should finally fix #130. 2012-07-20 17:29:56 +02:00
kai
b71429fc2a Differentiate between Win32 and MinGW.
Removes also serach for OS name windows because this is unsupported by LLVM.
2012-07-20 06:48:29 +02:00
kai
55366bc319 Add std.net to list of phobos modules. Fixes #139. 2012-07-18 12:51:20 +02:00
kai
d986d08f37 Add info about registered targets (mimic LLVM tools). 2012-07-16 23:32:57 +02:00
kai
2ae6b3962a Update to druntime (ldc.memory). 2012-07-15 11:33:28 +02:00
kai
d78fee1b7f Add version identifier for Win64. 2012-07-14 21:46:39 +02:00
kai
32a2fff634 Add more compiler flags for MSVC. 2012-07-14 21:45:24 +02:00
kai
cb77cca0d3 Fix bug in ComplexExp::toChars(). Also fixed in dmd 2.060. 2012-07-14 19:55:52 +02:00
kai
0b45147aee Updated druntime (ldc.memory). 2012-07-14 18:59:29 +02:00
kai
fcd3ac6a11 Do not add a second underscore to naked functions on Windows.
This leads to missing symbols during linking on Windows x64. If
this changes breaks other Windows platforms then we have to analyze
the triple instead of global.params.os.
2012-07-14 18:25:27 +02:00
David Nadlinger
f7e5245e03 Fix #138 – in precondition of methods broken in D1.
Not sure why the code was special-cased for D2 in the first place –
are there any cases where we expect a »full« context struct in the
contracts for D1. At least, they don't occur in DStress/Tango/….

As a general note, this is one of many bugs which would have not gone
unnoticed if we didn't use so many bitcasts.
2012-07-13 11:38:56 +02:00
David Nadlinger
67fd824543 Merged alexrp's initial ARM patches.
The Phobos changes have, as far as I can tell, already landed in
upstream master as well. But since 2.060 will probably take some time
to arrive, I figured it makes sense to merge them right now, so that
collaboration on ARM support can continue.
2012-07-11 23:03:26 +02:00
David Nadlinger
8a27c94ce8 Merge pull request #137 from alexrp/master
Define ARM even in Thumb mode.
2012-07-09 05:25:54 -07:00
alexrp
b12784aa4e Define ARM even in Thumb mode. 2012-07-08 03:25:49 +02:00
David Nadlinger
c630ab56ff Fix #136 - return static arrays as sret parameters on non-x86.
This should eventually be done on x86 and x86_64 as well, but as
discussed in GitHub issue #110/pull request #120, the ABI there needs a
closer look: at least on x86_64, we need to treat static arrays exactly
like if they were a struct containing T.length members of the same type
to be compatible with DMD (as soon as the ABI is correctly implemented
there, that is).

While for this reason I want to avoid a ABI change which could silently
break some code only to change the x86 ABI again shortly after, this
commit only touches the "default" ABI for unknown targets and thus
should be safe (as we give absoultely no ABI guarantees there anyway).
2012-07-07 23:53:46 +02:00