kai
45848d19fc
Remove unused include. This fixes yet another MSVC-related compile problem.
...
Root cause is the `root.h` defines `strtof` which is used in `llvm/Target/TargetLibraryInfo.h` as an enumeration identifier.
2012-11-18 17:52:10 +01:00
kai
ccde570520
Fixed a compiler error with MSVC.
...
Maybe caused by recent changes to `expression.c`.
2012-11-18 13:37:55 +01:00
David Nadlinger
60ebf5b968
Fix building against the OS X 10.8 SDK.
...
This is a backport of DMD commit 47bee50a39 by Justin Holewinski.
GitHub: Fixes #218 .
2012-11-17 22:29:23 +01:00
David Nadlinger
a2089e8c55
Merged druntime .di generation updates by jerro.
...
GitHub: fixes #207 .
2012-11-17 21:16:10 +01:00
Jernej Krempuš
2818f2460e
Install all headers in core/sys on all platforms.
2012-11-17 20:54:30 +01:00
David Nadlinger
93d4d90239
Inline IR testsuite updates.
2012-11-17 11:07:55 +01:00
David Nadlinger
30aba033c8
Don't push -L-l/-L-L using -Xlinker.
2012-11-15 23:02:06 +01:00
David Nadlinger
34e1415f35
Merge pull request #226 from jerro/pragma-llvm-inline-ir
...
Pragma llvm_inline_ir
2012-11-15 12:05:17 -08:00
David Nadlinger
be1327bfba
Merge pull request #232 from alexrp/master
...
Correctly set MIPS64 version identifier.
2012-11-15 07:48:46 -08:00
alexrp
811dca3cf6
Correctly set MIPS64 version identifier.
2012-11-15 16:47:37 +01:00
David Nadlinger
237b0f25dc
druntime '_end'/'end' updates.
...
This should fix the test suite build on Arch Linux.
2012-11-15 11:54:27 +01:00
David Nadlinger
636b37d056
D1 tests: Updated local copy of object.di.
...
The type info layout was changed in DMD; Tango already has the changes.
2012-11-11 00:42:08 +01:00
David Nadlinger
540888d6d0
Removed tautological #if block.
2012-11-11 00:32:15 +01:00
David Nadlinger
d14a869c19
Only emit a single bitcast for struct literal padding.
...
Mostly a cosmetic change.
2012-11-10 20:22:56 +01:00
David Nadlinger
5944e9cc51
Correctly zero out real padding in struct literals.
...
Fixes the std.variant unit tests on x86_64.
2012-11-10 20:11:10 +01:00
David Nadlinger
ab94a6d60c
Don't treat __ensure specially in LDC.
...
The only change here is commenting out the Id::ensure check,
the rest is just alignment of the code to upstream DMD.
2012-11-08 23:53:50 +01:00
Jernej Krempuš
7bbe782615
Pragma llvm_inline_ir
...
Adding pragma llvm_inline_ir.
Improved the error messages.
Append "ret void" when the return type is void
Improved the error message
in case when the string passed as llvm inline ir isn't valid llvm
assembly language.
LLVM 3.2 fix.
Add attribute AlwaysInline inside DtoInlineIRFunction.
Always generate a body for llvm_inline_ir
Also, always make llvm_inline_ir functions linkonce_odr. Because
the body is always generated when a module uses a llvm_inline_ir
function, the fact that the linker removes the function shouldn't
cause problems.
2012-11-08 22:05:15 +01:00
David Nadlinger
45a3060da7
Prettied up nested context debug output.
...
The assertion is currently triggered when building the Tango/D1 unit tests.
2012-11-08 21:44:14 +01:00
David Nadlinger
7708d2e27a
Added '-vdmd' option to LDMD.
...
The name is not optimal; it has been chosen for GDC compatibility.
Thanks to Jonathan Mercier for the original patch.
2012-11-07 00:14:40 +01:00
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