Commit graph

34 commits

Author SHA1 Message Date
Martin
dc43d670b5 Re-clang-format gen/asm-x86.h after some manual tweaks
Commented lines preceding any #if preprocessor directives get aligned at
the #if indentation, i.e., column 0 in most cases, but are seldomly
directly related to the #if directive itself.

Here I use `#if 0` to comment out a large chunk of lines immediately
preceding an #if directive.
2015-11-07 17:55:30 +01:00
Martin
7cb65d6b94 Cosmetic fixes for gen/asm-x86.h 2015-11-05 19:47:11 +01:00
David Nadlinger
bb8ca94901 asm-x86: Tiny format fix 2015-11-03 01:41:26 +02:00
David Nadlinger
05d45350aa clang-tidy: Add readability-else-after-return 2015-11-02 11:30:40 +02:00
David Nadlinger
9df487edff gen/ir: clang-tidy the world 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
Kai Nacke
793f9d86ed Fix compiling on ARM with latest GCC.
ARM has unsigned chars vs. signed chars on X86. Assigning -1 to a
char results in a narrowing conversion which is an error since GCC 5.x.

The fix is to explicitly use a signed char.
2015-09-18 22:39:13 +02:00
Martin
eadeede5b0 DMD inline asm: allow labels as generic operands 2015-08-03 00:52:23 +02:00
David Nadlinger
21d1bab114 Merge branch 'master' into merge-2.067 2015-07-11 18:10:43 +02:00
Kai Nacke
801819dd3f Add error message for branch with segment prefix.
Fixes fail_compilation/fail12635.d
2015-05-30 23:00:34 +02:00
Kai Nacke
7eb6173ab5 Implement logical expressions in inline assembler.
Parsing and interpretation of logical expressions were missing.
This fixes fail_compilation/fail14009.d, too.
2015-05-30 16:48:09 +02:00
Martin
9ae1c68263 Inline assembly fix for MSVC: treat real ptr as 64-bit double. 2015-04-16 00:50:29 +02:00
kai
c39c7e9c35 Update to DMD v2.067.0-b2
Includes all tagged with v2.067.0-b2. Does not includes latest druntime changes from ldc (head) branch.

This is known to be broken. I only merged the frontend stuff but did not try to compile something...
2015-02-24 22:16:17 +01:00
kai
a2748cd2fd Merge current development state of 2.067
First merge of current development stream. Asm blocks are known to be broken.

DMD:      0c9f437bc24015707130ba42dc434d9cd58282fb
druntime: 86d49cfb3670904603df0cfdfe44c6fff565c0fc
Phobos:   a8ca4f7964becac680af0eadbde05aa7d10fc338
2014-11-15 18:53:23 +01:00
Martin
f00c488605 Win64: do not prepend extra underscore when mangling symbol names in inline assembly 2014-10-11 21:20:49 +02:00
Alexey Prokhin
68649882f4 Also move nakedUse from VarDeclaration to IrGlobal 2014-10-05 16:08:58 +04:00
Alexey Prokhin
a0b9f95869 There is no real need in FuncDeclaration::labmap 2014-10-05 16:08:35 +04:00
Alexey Prokhin
76dec46df5 WIP: merge dmdfe 2.066 2014-08-22 16:01:28 +04:00
Andreas Hollandt
8af29baeda fix #667 flags list used as string
enable function and data sections
fix incorrect library search paths
2014-07-17 00:11:08 +02:00
David Nadlinger
cb341586e3 First merge of 2.064 beta.
This corresponds to DMD commit a913ce4bc59a94a022a27e390fc841f4aededffb.

Doesn't build Phobos yet.
2013-10-29 19:21:15 +01:00
kai
8408afcf6d Add SSE4.1, SSE4.2, AES and SHA opcodes.
Also adds comments for all AVX opcodes supported by DMD.
This fixes issue #514.
2013-10-29 17:31:43 +01:00
David Nadlinger
d7526157ab Expression::optimize everything to resolve manifest constants in inline asm. 2013-06-12 20:16:37 +02:00
David Nadlinger
2ebf677661 Handle explicit AddrExp for naked asm memory references. 2013-06-12 20:16:37 +02:00
David Nadlinger
292caa1438 Merge the 2.063 frontend. 2013-06-12 20:16:37 +02:00
kai
23df06a3ba Add <cctype> to asm-x86.h.
This removes a conditional block introduced for MSVC.
2013-05-13 21:19:01 +02:00
David Nadlinger
5742a0219c Fix inline asm labels in template functions.
This is a giant kludge to avoid a redesign of the inline asm
handling code. I'd be glad if somebody came up with a better
solution.

GitHub: Fixes #340.
2013-05-11 21:01:24 +02:00
David Nadlinger
d15a3bacac Minor cleanup. 2013-05-11 18:43:41 +02:00
David Nadlinger
5f8e13fac7 Added comment about multi-include x86 asm parser. 2013-03-17 02:00:42 +01:00
David Nadlinger
70dedd14e2 Some more assert(false) -> llvm_unreachable. 2013-02-08 16:46:05 +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
Martin
25b6b3abf2 Remove AsmOpInfo::takesLabel(), add FIXME comment. 2013-01-28 21:05:48 +01:00
Martin
8a463444ab Fix negated sc->func->naked for x64 and remove !IN_LLVM block. 2013-01-28 20:00:08 +01:00
Martin
62cb04f6f6 Merged x86 and x86_64 assembly parsers. 2013-01-27 15:31:26 +01:00
Renamed from gen/asm-x86-64.h (Browse further)