| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
TSFlags. This greatly simplifies the switch statements in the disassembler tables and the code emitters.
llvm-svn: 200522
|
| |
|
|
|
|
| |
had special handling anyway and this enables a future patch.
llvm-svn: 200520
|
| |
|
|
| |
llvm-svn: 200459
|
| |
|
|
|
|
| |
SwitchOpcodeMatcher/SwitchTypeMatcher.
llvm-svn: 200377
|
| |
|
|
| |
llvm-svn: 200349
|
| |
|
|
| |
llvm-svn: 200345
|
| |
|
|
|
|
| |
from the larger set not just the smallest type from the smaller set. Ensure 'smaller' vectors have the same or fewer total bits. Similar for 'larger' vectors.
llvm-svn: 200287
|
| |
|
|
|
|
| |
EnforceSmallerThan doesn't handle vectors quite right and should really enforce that vectors have the same number of elements. Add explicit checks for vector element count differing in EnforceVectorSubVectorTypeIs instead. This removes some unnecessary type checks in X86GenDAGISel.inc.
llvm-svn: 200091
|
| |
|
|
| |
llvm-svn: 200089
|
| |
|
|
| |
llvm-svn: 200071
|
| |
|
|
|
|
| |
this type to force this type to be scalar.
llvm-svn: 200070
|
| |
|
|
| |
llvm-svn: 200037
|
| |
|
|
|
|
| |
facilitate. Remove TGValueTypes.cpp since its unused now (and may have been before).
llvm-svn: 200036
|
| |
|
|
|
|
|
| |
Sweep the codebase for common typos. Includes some changes to visible function
names that were misspelt.
llvm-svn: 200018
|
| |
|
|
| |
llvm-svn: 199806
|
| |
|
|
| |
llvm-svn: 199804
|
| |
|
|
| |
llvm-svn: 199803
|
| |
|
|
| |
llvm-svn: 199712
|
| |
|
|
|
|
|
|
|
|
| |
The addition of IC_OPSIZE_ADSIZE in r198759 wasn't quite complete. It
also turns out to have been unnecessary. The disassembler handles the
AdSize prefix for itself, and doesn't care about the difference between
(e.g.) MOV8ao8 and MOB8ao8_16 definitions. So just let them coexist and
don't worry about it.
llvm-svn: 199654
|
| |
|
|
|
|
| |
encoded and disassembled with a segment override prefix. Fixes PR16962.
llvm-svn: 199364
|
| |
|
|
|
|
| |
__lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h>
llvm-svn: 199303
|
| |
|
|
|
|
| |
TYPE_Rv/TYPE_R16/TYPE_R32 now that HasOpSizePrefix only means 16-bit instructions.
llvm-svn: 199295
|
| |
|
|
|
|
|
|
|
|
| |
promotion code, Tablegen will now select FPExt for floating point promotions
(previously it had returned AExt, which is not valid for floating point types).
Any out-of-tree targets that were relying on AExt being returned for FP
promotions will need to update their code check for FPExt instead.
llvm-svn: 199252
|
| |
|
|
| |
llvm-svn: 199194
|
| |
|
|
|
|
|
|
| |
and the current mode from the concept of SSE instructions using 0x66 prefix as part of their encoding without being affected by the mode.
This should allow SSE instructions to be encoded correctly in 16-bit mode which r198586 probably broke.
llvm-svn: 199193
|
| |
|
|
|
|
| |
Changed intrinsics for vrcp14/vrcp28 vrsqrt14/vrsqrt28 - aligned with GCC.
llvm-svn: 199102
|
| |
|
|
| |
llvm-svn: 198969
|
| |
|
|
| |
llvm-svn: 198959
|
| |
|
|
|
|
| |
this time LeakSanitizerIsTurnedOffForTheCurrentProcess is used instead of __lsan_is_turned_off
llvm-svn: 198922
|
| |
|
|
|
|
|
|
|
|
|
| |
To declare or define reserved identifers is undefined behaviour in standard
C++. This needs to be addressed in compiler-rt before it can be used in LLVM.
See the list discussion for details.
This reverts commit r198858.
llvm-svn: 198884
|
| |
|
|
| |
llvm-svn: 198858
|
| |
|
|
|
|
|
|
|
|
| |
It seems there is no separate instruction class for having AdSize *and*
OpSize bits set, which is required in order to disambiguate between all
these instructions. So add that to the disassembler.
Hm, perhaps we do need an AdSize16 bit after all?
llvm-svn: 198759
|
| |
|
|
|
|
| |
being used.
llvm-svn: 198589
|
| |
|
|
| |
llvm-svn: 198550
|
| |
|
|
| |
llvm-svn: 198547
|
| |
|
|
| |
llvm-svn: 198546
|
| |
|
|
|
|
| |
disassembler without string matches.
llvm-svn: 198545
|
| |
|
|
|
|
| |
and remove disassmbler table emitter hack.
llvm-svn: 198544
|
| |
|
|
|
|
| |
instructions to go through to the disassembler tables without resorting to string matches. Apply flag to all _REV instructions.
llvm-svn: 198543
|
| |
|
|
|
|
| |
corresponding 32-bit versions with the same encodings Not64BitMode. Remove hack from tablegen disassembler table emitter. Fix bad test.
llvm-svn: 198530
|
| |
|
|
|
|
| |
Just skip emitting the table. This way the main function will delete the output file instead of it remaining empty and confusing dependency checks if build is invoked a second time.
llvm-svn: 198529
|
| |
|
|
|
|
| |
Remove disassembler hack.
llvm-svn: 198515
|
| |
|
|
|
|
| |
won't be emitted correctly since it was set to NoImm. And I can't prove that gas accepts 'jmpq' with an immediate either. Remove the special case for it from the disassembler table generator.
llvm-svn: 198475
|
| |
|
|
|
|
|
|
|
|
|
|
| |
A ValueType in a pattern dag is a type cast, and GetNumNodeResults should
handle it (the type cast has only one result).
This comes up, for example, during the type checking of pattern fragments, for
example, AArch64's Neon_combine_2d fragment is:
dag Operands = (ops node:$Rm, node:$Rn);
dag Fragment = (v2f64 (concat_vectors (v1f64 node:$Rm), (v1f64 node:$Rn)));
llvm-svn: 198347
|
| |
|
|
| |
llvm-svn: 198336
|
| |
|
|
| |
llvm-svn: 198332
|
| |
|
|
|
|
| |
from the disassembler table builder.
llvm-svn: 198327
|
| |
|
|
| |
llvm-svn: 198325
|
| |
|
|
|
|
| |
table builder doesn't need to string match them to exclude them.
llvm-svn: 198323
|
| |
|
|
| |
llvm-svn: 198291
|