| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 136511
|
| |
|
|
| |
llvm-svn: 136510
|
| |
|
|
|
|
|
|
| |
Fix the instruction encoding for operands. Refactor mode to use explicit
instruction definitions per FIXME to be more consistent with loads/stores.
Fix disassembler accordingly. Add tests.
llvm-svn: 136509
|
| |
|
|
|
|
|
|
| |
for targets that don't have an MC-ized disassembler. I'm suspicious that
this shouldn't actually be happening, but hoping to fix the CMake build
on macs first, and investigate why second.
llvm-svn: 136508
|
| |
|
|
| |
llvm-svn: 136506
|
| |
|
|
| |
llvm-svn: 136505
|
| |
|
|
| |
llvm-svn: 136503
|
| |
|
|
| |
llvm-svn: 136502
|
| |
|
|
|
|
| |
Make sure DagInits are unique and created only once.
llvm-svn: 136501
|
| |
|
|
|
|
| |
Make sure FieldInits are unique and created only once.
llvm-svn: 136500
|
| |
|
|
|
|
| |
Make sure VarListElementInits are unique and created only once.
llvm-svn: 136499
|
| |
|
|
|
|
| |
Make sure VarBitInits are unique and created only once.
llvm-svn: 136498
|
| |
|
|
|
|
| |
Make sure VarInits are unique and created only once.
llvm-svn: 136497
|
| |
|
|
|
|
|
|
| |
Make sure TernOpInits are unique and created only once. This will be
important for AVX/SIMD as many operators will be used to generate
patterns and other relevant data.
llvm-svn: 136496
|
| |
|
|
|
|
|
|
| |
Make sure BinOpInits are unique and created only once. This will be
important for AVX/SIMD as many operators will be used to generate
patterns and other relevant data.
llvm-svn: 136495
|
| |
|
|
|
|
|
|
| |
Make sure UnOpInits are unique and created only once. This will be
important for AVX/SIMD as many operators will be used to generate
patterns and other relevant data.
llvm-svn: 136494
|
| |
|
|
|
|
|
|
|
| |
Ensure ListInits are unique and only created once. This will be
important for AVX as lists will be used extensively to pass generic
patterns, prefix information and other things to lower-level
pattern-generation classes.
llvm-svn: 136493
|
| |
|
|
|
|
|
| |
Use a StringMap to ensure CodeInits are unique and created only
once.
llvm-svn: 136492
|
| |
|
|
|
|
|
|
| |
Use a StringMap to ensure the StringInits are unique. This is
especially important for AVX where we will have many smallish
strings representing instruction prefixes, suffixes and the like.
llvm-svn: 136491
|
| |
|
|
|
|
| |
Use a DenseMap to make sure only one IntInit of any value exists.
llvm-svn: 136490
|
| |
|
|
|
|
| |
Make BitsInit a FoldingSetNode so we can unique it.
llvm-svn: 136489
|
| |
|
|
|
|
| |
Keep only two copies of BitInit: one for true and one for false.
llvm-svn: 136488
|
| |
|
|
|
|
| |
Keep only one UnsetInit around.
llvm-svn: 136487
|
| |
|
|
|
|
|
| |
Replace uses of new *Init with *Init::get. This hides the allocation
implementation so that we can unique Inits in various ways.
llvm-svn: 136486
|
| |
|
|
|
|
|
| |
Make references to Inits const everywhere. This is the final step
before making them unique.
llvm-svn: 136485
|
| |
|
|
|
|
|
|
| |
Remove all non-const iterators from Init classes. This is another
step toward constifying Inits and ultimately turning them into
FoldingSetNodes.
llvm-svn: 136484
|
| |
|
|
|
|
|
| |
Get rid of all Init members that modify internal state. This is in
preparation for making references to Inits const.
llvm-svn: 136483
|
| |
|
|
|
|
|
| |
Add a getValues ListInit method to return the sequence of values in
the list.
llvm-svn: 136482
|
| |
|
|
|
|
|
|
|
| |
Create a std::string wrapper for use as a DenseMap key. DenseMap is
not safe in generate with strings, so this wrapper indicates that only
strings guaranteed not to have certain values should be used in the
DenseMap.
llvm-svn: 136481
|
| |
|
|
| |
llvm-svn: 136480
|
| |
|
|
|
|
|
|
|
|
|
| |
Fill in the missing fixed bits and the register operand bits of the instruction
encoding. Refactor the definition to make the mode explicit, which is
consistent with how loads and stores are normally represented and makes
parsing much easier. Add parsing aliases for pseudo-instruction variants.
Update the disassembler for the new representations. Add tests for parsing and
encoding.
llvm-svn: 136479
|
| |
|
|
| |
llvm-svn: 136478
|
| |
|
|
| |
llvm-svn: 136477
|
| |
|
|
| |
llvm-svn: 136475
|
| |
|
|
| |
llvm-svn: 136473
|
| |
|
|
| |
llvm-svn: 136472
|
| |
|
|
| |
llvm-svn: 136470
|
| |
|
|
| |
llvm-svn: 136468
|
| |
|
|
|
|
| |
overwrite our mapping.
llvm-svn: 136467
|
| |
|
|
| |
llvm-svn: 136463
|
| |
|
|
|
|
|
| |
whatever the size of unsigned is), though this can't actually
occur for any integer value of NUM_NODES.
llvm-svn: 136460
|
| |
|
|
|
|
|
|
|
|
|
|
| |
screwy things by setting PWD != getcwd(). For example, some developers I know
will use this to control the value in gcc's DW_AT_comp_dir value in debug
output. With this patch, that trick will now work on clang too.
The only other effect of this change is that the static analysis will now
respect $PWD when reporting the directory of the files in its HTML output. I
think that's fine.
llvm-svn: 136459
|
| |
|
|
|
|
| |
lines. No functionality change.
llvm-svn: 136458
|
| |
|
|
|
|
|
|
|
| |
working on x86 (at least for trivial testcases); other architectures will
need more work so that they actually emit the appropriate instructions for
orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC,
Mips, and Alpha backends need such changes.)
llvm-svn: 136457
|
| |
|
|
|
|
| |
rounding errors.
llvm-svn: 136456
|
| |
|
|
|
|
|
|
|
|
|
|
| |
First off, only depend on the actual MC-ized disassemblers in the
targets, not all of the libraries those in turn depend on.
Second off, only depend on those MC-ized disassemblers for targets we're
building.
This should fix builds of fewer than all targets.
llvm-svn: 136455
|
| |
|
|
|
|
| |
on the second half must be reindexed.
llvm-svn: 136454
|
| |
|
|
|
|
| |
generation to always catch the weird cases.
llvm-svn: 136453
|
| |
|
|
| |
llvm-svn: 136452
|
| |
|
|
| |
llvm-svn: 136451
|