llvm-project/llvm
Nico Weber bf834b2629 [x86/asm] Let EmitMSInlineAsmStr() handle variants too
This is preparation for D113707, where I want to make `-masm=intel`
emit `asm inteldialect` instructions.

`{movq %rbx, %rax|mov rax, rbx}` is supposed to evaluate to the bit
between { and | for att and to the bit between | and } for intel.
Since intel will become `asm inteldialect`, which alls EmitMSInlineAsmStr(),
EmitMSInlineAsmStr() has to support variants as well.

(clang translates `{...|...}` to `$(...$|...$)`. I'm not sure why
it doesn't just send along only the first `...` or the second `...`
to LLVM, but given the notes in PR23933 let's not do a big
reorganization in this codepath.)

Differential Revision: https://reviews.llvm.org/D113932
2021-11-17 13:31:59 -05:00
..
benchmarks
bindings
cmake Revert "[llvm][ubsan] Inclusive language: replace use of blacklist HandleLLVMOptions.cmake" 2021-11-15 18:54:15 +00:00
docs [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
examples Revert "Use `GNUInstallDirs` to support custom installation dirs. -- LLVM" 2021-11-02 19:11:44 +01:00
include [x86/asm] Make variants work when converting at&t inline asm input to intel asm output 2021-11-17 13:23:18 -05:00
lib [x86/asm] Let EmitMSInlineAsmStr() handle variants too 2021-11-17 13:31:59 -05:00
projects Remove unused parallel-libs project 2021-10-21 14:34:39 -07:00
resources
runtimes
test [x86/asm] Let EmitMSInlineAsmStr() handle variants too 2021-11-17 13:31:59 -05:00
tools [llvm-objdump/mac] Add support for new load commands 2021-11-17 09:53:25 -08:00
unittests [IR] Change CreateStepVector to work with element types smaller than i8 2021-11-17 10:47:50 +00:00
utils [gn build] Add missed comma 2021-11-17 09:07:09 -08:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert "Reland "[benchmarks] Move libcxx's fork of google/benchmark and llvm/utils'""" 2021-11-16 16:35:06 -08:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.