Commit graph

54 commits

Author SHA1 Message Date
Martin
241dc9135f Fix error message formatting 2016-02-02 22:31:54 +01:00
Martin
2dfa5e8569 Some more cosmetic fixes
Found by searching for lines > 80 chars.
2015-11-05 19:12:32 +01:00
David Nadlinger
51afced357 Also clang-tidy driver/ 2015-11-02 11:30:40 +02:00
David Nadlinger
44b0f7b615 driver/gen/ir: clang-format the world
This uses the LLVM style, which makes sense for sharing code
with other LLVM projects. The DMD code we use will soon all
be in D anyway.
2015-11-02 00:28:01 +02:00
Martin
60d676e2a1 Drop support for LLVM < 3.5
This allows to clean up the code a little.
2015-10-30 22:24:05 +01:00
David Nadlinger
0647f49aa5 driver: Mention size of allocas, do not repeat obvious types
The latter is particularly helpful for readability of code with
deeply nested templates, i.e. huge type names.
2015-09-15 18:15:49 +02:00
Kai Nacke
bb32dcd6de Add new hidden option -no-integrated-as.
This is useful if the integrated assembler causes problems.

Also adds an architecture to the assembler command line in case
of compiling for MIPS.
2015-05-25 22:54:56 +02:00
Kai Nacke
90f7debeb2 Remove a wrong space in argument. 2015-05-24 19:42:59 +02:00
Kai Nacke
2331889669 MIPS: Implement ABI handling.
Adds a new command line option -mabi= and uses the value to compute
the ABI to use. Adds the ABI to linker and assembler invocation, too.
Allows consistent invocation of the whole tool chain.
2015-05-24 18:11:24 +02:00
kai
6ab801361a LLVM 3.7: Debug info classes changed again.
The solution is to use a typedef to hide the differences in most cases.
2015-04-30 22:43:31 +02:00
Martin
fdd449c4e5 LLVM 3.7: Metadata refactoring continues 2015-04-22 12:17:42 +02:00
Kai Nacke
7a3ef8323b LLVM 3.7: More metadata and output stream changes. 2015-04-16 07:19:28 +02:00
Kai Nacke
76a34f2e35 LLVM 3.7: More metadata changes 2015-04-09 22:14:12 +02:00
kai
f8bddb3e99 Add AssemblyAnnotationWriter.
Outputs debug information as comments in .ll file.

Provided by Trass3r.
2015-04-03 15:53:06 +02:00
Kai Nacke
1b7bca65b2 LLVM 3.7: Include of <llvm/Support/Path.h> is required 2015-03-25 19:05:12 +01:00
kai
6cb787aa6d LLVM 3.7: Fix yet another DataLayoutPass reference. 2015-03-06 21:18:54 +01:00
unknown
e56ef8b86e copy paste error fix 2015-02-16 15:27:19 -08:00
unknown
674b614807 Update of PassManager interface to match the corresponding deprecation in LLVM's trunk for 3.7 2015-02-16 15:11:42 -08:00
kai
4de1414c41 LLVM 3.7: Use new TargetMachine.getTargetIRAnalysis() analysis pass.
This replaces the TargetMachine.addAnalysisPasses() method.
2015-02-04 07:28:50 +01:00
kai
b8aed4538a Another set of changes for AIX.
AIX uses the XCOFF format which is not supported by LLVM.
An external assembler must be used.
2014-11-16 06:11:27 +01:00
kai
bef163f559 Fix latest LLVM 3.6 changes 2014-09-19 06:49:34 +02:00
kai
1609cb4714 Enable integrated assembler on MinGW with LLVM 3.5 or later 2014-09-04 06:36:31 +02:00
kai
d6569c496e LLVM 3.6 fix: stream constructor now takes std::error_code instead of std::string 2014-08-28 07:55:48 +02:00
kai
df0d302d5b Fix MingW build with LLVM 3.5
Starting with LLVM 3.5 it is better/required to use Triple.isWindowsGNUEnvironment().
Reported by Daniel N.
2014-08-26 18:57:12 +02:00
kai
6aebfbdd0a Fix LLVM 3.6 build 2014-08-11 12:37:54 +02:00
kai
b73e5fb5ef Fix LLVM 3.6 build 2014-08-06 07:18:00 +02:00
Andreas Hollandt
a1b42f28ae fix for llvm trunk 2014-07-17 00:11:09 +02:00
kai
8abfc2f35c Merge branch 'release-0.13.0' 2014-06-27 23:38:03 +02:00
kai
57419a59b4 Fix build with LLVM 3.5
Method codegenModule() used a FunctionPassManager instead of a PassManager. This results in an assertion failure.
Also initialize one more pass.
2014-06-27 22:26:33 +02:00
kai
f8a53ab3dc Merge branch 'merge-2.064' into merge-2.065
Conflicts:
	runtime/druntime
2014-03-12 18:27:43 +01:00
kai
08b51f836a Add code for the new DataLayoutPass in LLVM 3.5 2014-03-10 06:51:07 +01:00
kai
be1baa877a Fix file reading modes for LLVM 3.5 2014-03-07 06:40:42 +01:00
Kai Nacke
fe39da53e3 Merge of 2.065.0-b3.
The new visitor class is used for IR generation. This removes some modifications from DMD source.
2014-02-10 08:47:25 +01:00
Kai Nacke
87afa717ae Fix more files for LLVM 3.5. 2014-01-13 18:16:22 +01:00
David Nadlinger
0a8e1f78b7 Do not append unique suffix to asm file when -output-s is given.
This fixes a regression introduced by commit 50f145640
(pull request #473).
2013-09-15 23:41:55 +02:00
David Nadlinger
50f145640f Use PathV1 for creating temporary files on pre-3.4 LLVM.
GitHub: Fixes #471.
2013-09-15 17:03:39 +02:00
kai
81bf8c19a5 Fix a typo in keyowrd 2013-07-20 18:20:24 +02:00
kai
4e8acf7eb6 Fix for LLVM 3.4 2013-07-20 20:23:31 +02:00
kai
02d40239aa unique_file was renamed to createUniqueFile in LLVM.
Fixes yet another LLVM 3.4 compile error.
2013-07-07 14:33:47 +02:00
kai
272230fe59 Make driver/toobj.cpp compatible with LLVM 3.4. 2013-06-29 17:11:14 +02:00
kai
cf88271ab9 Replace llvm::sys::Path with std::string.
In many cases this is straightforward. It makes the source LLVM 3.4 compatible without using #idef's.
2013-06-29 14:20:44 +02:00
kai
f1c71e4bac Make ldc compatible with LLVM 3.4
Development of LLVM 3.4 started with a cleanup of the path class (PathV1).
The changes here let ldc compile at least with rev. 184039 of LLVM.
2013-06-15 19:52:29 +02:00
David Nadlinger
251607a1df LLVM 3.3+: Initialize TargetTransformInfo. 2013-05-09 19:51:57 +02: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
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
8ff3a8060a Use llvm_unreachable instead of assert(0).
Also removed some unused functions.
2013-02-07 03:38:15 +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
9458911839 Added LLVM-style license headers to all our files. 2012-12-16 17:19:14 +01:00
David Nadlinger
8b7320c7c2 Removed last instance of CRLF newlines. 2012-12-16 17:19:14 +01:00