| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
set to represent the modules a module imports.
llvm-svn: 136476
|
|
|
|
| |
llvm-svn: 136475
|
|
|
|
| |
llvm-svn: 136473
|
|
|
|
| |
llvm-svn: 136472
|
|
|
|
| |
llvm-svn: 136470
|
|
|
|
| |
llvm-svn: 136469
|
|
|
|
| |
llvm-svn: 136468
|
|
|
|
|
|
| |
overwrite our mapping.
llvm-svn: 136467
|
|
|
|
| |
llvm-svn: 136463
|
|
|
|
| |
llvm-svn: 136461
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
undef mask elements. This fixes PR10529.
llvm-svn: 136450
|
|
|
|
|
|
| |
Also tidy up code a bit.
llvm-svn: 136449
|
|
|
|
|
|
|
| |
Also make PALIGNR masks to don't match 256-bits, which isn't supported
It's also a step to solve PR10489
llvm-svn: 136448
|
|
|
|
|
|
|
|
| |
DiagnosticErrorTraps can be composed (e.g. a trap inside another trap).
Fixes http://llvm.org/PR10462 & rdar://9852007.
llvm-svn: 136447
|
|
|
|
|
|
| |
With this, we can now compile a simple EH program.
llvm-svn: 136446
|
|
|
|
| |
llvm-svn: 136445
|
|
|
|
| |
llvm-svn: 136444
|
|
|
|
|
|
| |
C++98/03, and C++0x mode, from Craig Topper!
llvm-svn: 136443
|
|
|
|
| |
llvm-svn: 136442
|
|
|
|
|
|
|
|
|
| |
were (Module*, Offset) with equivalent maps whose value type is just a
Module*. The offsets have moved into corresponding "Base" fields
within the Module itself, where they will also be helpful for
local->global translation (eventually).
llvm-svn: 136441
|