Commit Graph

2518 Commits

Author SHA1 Message Date
David Nadlinger
c558f9caab Added -disable-simplify-libcalls.
-disable-simplify-drtcalls was only intended to disable our
custom druntime call simplication pass for debugging purposes.

The new flag controls C runtime library calls optimizations as
performed by the LLVM pass, just as the corresponding LLVM tool
flags do.
2012-11-06 23:53:59 +01:00
David Nadlinger
03ef134aad StripExternals only makes sense with GlobalDCE for cleanup afterwards. 2012-11-06 23:48:19 +01:00
David Nadlinger
fbd62f0532 It makes no sense to not inline alwaysinline functions. 2012-11-06 23:47:12 +01:00
David Nadlinger
b7ecd71d75 Don't run inlining semantic3's on unit test builds.
Fixes build of std.net.curl unit tests.
2012-11-06 23:16:50 +01:00
David Nadlinger
441419a60f Fix unhandled switch case warning. 2012-11-06 22:53:43 +01:00
David Nadlinger
0647cfb50c Re-enable inlining by default for -O2 and above.
This fixes a bug introduced in 2f78dc686.

Thanks to Jernej (jerro) for the fix!
2012-11-06 19:40:18 +01:00
David Nadlinger
08a8f5df9b Fixed LLVM function attribute handling.
Previously, set_param_attrs would overwrite any pre-existing
attributes, which is problematic, as per-function attributes are
also stored in a slot in that attribute list. This for example
lead to "noinline" being dropped for functions with inline asm.
2012-11-04 17:48:26 +01:00
David Nadlinger
f95371aeb5 Amend -verify-each description to PassManagerBuilder changes.
We can't verify after each pass anymore with PassManagerBuilder, but
-verify-each is a hidden flag mainly useful for debugging our own
passes anyway.
2012-11-04 00:56:36 +01:00
David Nadlinger
dbe5e97d85 Clean up optimizer command line switch descriptions. 2012-11-04 00:56:36 +01:00
David Nadlinger
2f78dc686d Use llvm::PassManagerBuilder for optimization scheduling.
This commit is based on Kai's pull request #157.
2012-11-04 00:56:36 +01:00
David Nadlinger
2e8dac5f38 Merge pull request #219 from singularpoint/master
More accurate building of llvm bitcode libraries
2012-11-01 13:56:11 -07:00
David Nadlinger
6bd71b0a81 Merge pull request #215 from jerro/gccbuiltin-attributes
Added pure, @safe and nothrow to gccbuiltins.
2012-10-24 22:06:22 -07:00
Jernej Krempuš
021f067963 Added pure, safe and nothrow to gccbuiltins. 2012-10-25 02:17:06 +02:00
kai
1423a9adb4 Add new platform AIX.
I have now access to a POWER7 box, so I hope to really supports this in druntime, too.
2012-10-23 08:42:16 +02:00
David Nadlinger
c67e6f137d Merge pull request #211 from alexrp/master
A bunch of updates to version identifiers and platform detection.
2012-10-22 16:30:56 -07:00
alexrp
05e634c267 Check for MIPS64 when using LLVM 3.1+. 2012-10-22 20:29:27 +02:00
alexrp
a54c2cf0f6 Drop Alpha and S/390 support. 2012-10-22 20:24:16 +02:00
alexrp
b5420eb22c A bunch of updates to version identifiers and platform detection. 2012-10-22 18:34:01 +02:00
David Nadlinger
07888f95e4 D1: Fixed accessing parameters in contracts.
This reverts the changes from commit f7e5245 and implements the
proper fix – in D1, contracts are treated as normal nested functions.

GitHub: Fix #138.
2012-10-21 01:11:04 +02:00
David Nadlinger
ece5176aa9 D1: Fix Tango build.
'this' for methods nested in structs is now internally passed as a
pointer, even if struct this is by value in D1.
2012-10-21 01:11:04 +02:00
kai
83a7258ae4 Add address space number to getPointerSize() calls.
This is required for LLVM 3.2.
2012-10-20 17:49:58 +02:00
kai
fde625b33d More changes to the Attributes class in LLVM 3.2. 2012-10-20 17:22:55 +02:00
kai
141dfa338e Add a post build event in Visual Studio to copy the config file ldc2.conf into Debug/Release folder.
This is required to build druntime and phobos with msbuild and Visual Studio.
2012-10-19 22:11:31 +02:00
kai
add8e91653 Locate Intrinsics.td in CMakeLists.txt.
The LLVM_INCLUDE_DIR is not always defined (e.g. missing in Windows). We simply locate the file and pass the folder path to the tool.
2012-10-18 07:12:13 +02:00
David Nadlinger
7674e4292f Fixed GitHub #204 – TableGen requires RTTI. 2012-10-17 20:36:47 +02:00
kai
434d56b4db Fix link error on Travis Cl. 2012-10-17 08:39:41 +02:00
kai
e7d5628370 Change CMakeLists.txt to compile gen_gccbuiltins with MSVC, too. 2012-10-17 07:13:20 +02:00
kai
641f0f9964 Extend copile support for MSVC.
- Add an option to choose between dynamic or static library version of libconfig++
- Add an option to choose linking the runtime against dynamic or static CRT library
2012-10-17 06:56:52 +02:00
kai
79e0b53fe7 Retrieve location of gen_gccbuiltins from CMake.
This is required for the MSVC build because binaries are placed in a Debug or Release folder.
2012-10-15 18:32:01 +02:00
kai
657fc42221 And still more changes for LLVM 3.2
There were additional changes to the Attributes class.
2012-10-15 18:31:18 +02:00
kai
0ebceb4e16 Make gen_gccbuiltins compilable with LLVM 3.2. 2012-10-14 21:42:17 +02:00
kai
fb108eed12 More LLVM 3.2 changes. 2012-10-14 18:45:31 +02:00
kai
8519f448f8 Improve error message if gcc or other tools can not be found.
This fixes #192.
2012-10-14 12:39:35 +02:00
David Nadlinger
95121115d3 gen_gccbuiltins cleanup. 2012-10-14 05:09:15 +02:00
David Nadlinger
b0878bf8ef Fixed gccbuiltins module declaration. 2012-10-14 05:05:48 +02:00
David Nadlinger
4c3faa9a3d Fixed GCC builtin header generation for out-of-source builds. 2012-10-14 05:02:42 +02:00
David Nadlinger
45365bb0ab Merged pull request #196 from branch 'jerro/upstream-master2'. 2012-10-14 04:58:56 +02:00
David Nadlinger
3897b9331e Travis: Directly invoke ctest for -proper -output-on-failure. 2012-10-14 04:35:23 +02:00
David Nadlinger
23e6720605 Build druntime/Phobos unit tests on make test. 2012-10-14 04:35:15 +02:00
David Nadlinger
247da8ea86 Phobos updates. 2012-10-14 04:34:17 +02:00
David Nadlinger
4b0e8d998d Phobos updates. 2012-10-14 04:16:35 +02:00
David Nadlinger
6885f6a0f0 Phobos test suite workarounds. 2012-10-14 03:57:42 +02:00
David Nadlinger
11619e55a9 Fix miscompilation of some functions returning structs. 2012-10-14 03:41:15 +02:00
kai
b50c6a8026 Look for configuration file in folder etc relative to executable.
Fixes issue #195.
2012-10-14 00:25:08 +02:00
kai
83d14c54da Explicit call conversion operator on Setting class.
This fixes issue #196.
2012-10-13 19:48:13 +02:00
kai
a7c7b514c0 Add changes for LLVM 3.2
- The Attributes class was changed again
- TargetData was renamed to DataLayout

Compiles again with LLVm 3.0, 3.1 and trunk(3.2).
2012-10-13 18:54:42 +02:00
David Nadlinger
d523be3010 Added explanation for commit 9b80037.
Such uncommented changes to the frontend are potentially a huge
source of confusion during merging new frontend versions
(especially if the piece of code gets changed again before the
next upstream release).
2012-10-13 18:20:56 +02:00
David Nadlinger
a9e151ee1f Mitigate a nested unions crash/wrong code bug.
This fixes the std.format unit tests for assertion-enabled
LLVM builds.

What the actual solution for the problem should be depends
entirely on the outcome of the "Nested Unions?" discussion
on dmd-internals.
2012-10-13 18:15:13 +02:00
Kai Nacke
9772270f60 Merge pull request #190 from redstar/issue8675
Fix Issue 8675 - Nothrow can't throw Errors
2012-10-13 04:12:24 -07:00
Jernej Krempuš
f6cd185701 Generate gccbuiltins.di at build time.
Bug fixes.

Moved gen_gccbuiltins.cpp to util and renamed gccbuiltins.di to gccbuiltins_x86.di

Trying to fix Travis build.

Removed cstrVec.
2012-10-13 13:01:03 +02:00