| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 146597
|
| |
|
|
|
|
| |
Add tests for w/ writeback instruction parsing and encoding.
llvm-svn: 146594
|
| |
|
|
|
|
| |
it to the streamer. rdar://10383898
llvm-svn: 146592
|
| |
|
|
| |
llvm-svn: 146590
|
| |
|
|
|
|
|
| |
In addition to improving the representation, this adds support for assembly
parsing of these instructions.
llvm-svn: 146588
|
| |
|
|
| |
llvm-svn: 146585
|
| |
|
|
|
|
|
|
|
|
|
| |
r0 = mov #0
r0 = moveq #1
Then the second instruction has an implicit data dependency on the first
instruction. Sadly I have yet to come up with a small test case that
demonstrate the post-ra scheduler taking advantage of this.
llvm-svn: 146583
|
| |
|
|
|
|
|
|
| |
Work in progress. Parsing for non-writeback, single spaced register lists
works now. The rest have the representations better factored, but still
need more to be able to parse properly.
llvm-svn: 146579
|
| |
|
|
|
|
| |
size heuristics.
llvm-svn: 146578
|
| |
|
|
|
|
| |
point to ARC-managed pointers sometimes. This fixes rdar://10551239.
llvm-svn: 146577
|
| |
|
|
| |
llvm-svn: 146575
|
| |
|
|
|
|
|
| |
emission is not supported yet, but a patch that adds the support should follow
soon.
llvm-svn: 146572
|
| |
|
|
| |
llvm-svn: 146571
|
| |
|
|
| |
llvm-svn: 146570
|
| |
|
|
| |
llvm-svn: 146569
|
| |
|
|
| |
llvm-svn: 146568
|
| |
|
|
|
|
|
|
|
|
| |
When 'cmp rn #imm' doesn't match due to the immediate not being representable,
but 'cmn rn, #-imm' does match, use the latter in place of the former, as
it's equivalent.
rdar://10552389
llvm-svn: 146567
|
| |
|
|
| |
llvm-svn: 146566
|
| |
|
|
| |
llvm-svn: 146550
|
| |
|
|
| |
llvm-svn: 146549
|
| |
|
|
| |
llvm-svn: 146548
|
| |
|
|
| |
llvm-svn: 146547
|
| |
|
|
| |
llvm-svn: 146546
|
| |
|
|
| |
llvm-svn: 146545
|
| |
|
|
|
|
| |
rdar://10549683
llvm-svn: 146543
|
| |
|
|
|
|
|
|
|
|
| |
to finalize MI bundles (i.e. add BUNDLE instruction and computing register def
and use lists of the BUNDLE instruction) and a pass to unpack bundles.
- Teach more of MachineBasic and MachineInstr methods to be bundle aware.
- Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to
prevent IT blocks from being broken apart.
llvm-svn: 146542
|
| |
|
|
| |
llvm-svn: 146534
|
| |
|
|
|
|
| |
free function.
llvm-svn: 146531
|
| |
|
|
|
|
| |
builds). This should be done in the run-time.
llvm-svn: 146527
|
| |
|
|
| |
llvm-svn: 146523
|
| |
|
|
| |
llvm-svn: 146522
|
| |
|
|
| |
llvm-svn: 146521
|
| |
|
|
|
|
| |
rdar://10549767
llvm-svn: 146520
|
| |
|
|
|
|
| |
rdar://10550269
llvm-svn: 146519
|
| |
|
|
|
|
| |
rdar://10549786
llvm-svn: 146518
|
| |
|
|
| |
llvm-svn: 146516
|
| |
|
|
|
|
| |
rdar://10549741
llvm-svn: 146515
|
| |
|
|
| |
llvm-svn: 146514
|
| |
|
|
| |
llvm-svn: 146511
|
| |
|
|
| |
llvm-svn: 146508
|
| |
|
|
| |
llvm-svn: 146507
|
| |
|
|
|
|
| |
asan issue 17
llvm-svn: 146503
|
| |
|
|
|
|
|
|
| |
to a regular
load and then move the result from a GPR to a FPR.
llvm-svn: 146502
|
| |
|
|
|
|
| |
instructions that define aggregate types.
llvm-svn: 146492
|
| |
|
|
|
|
|
|
|
| |
Fast ISel isn't able to handle 'insertvalue' and it causes a large slowdown
during -O0 compilation. We don't necessarily need to generate an aggregate of
the values here if they're just going to be extracted directly afterwards.
<rdar://problem/10530851>
llvm-svn: 146481
|
| |
|
|
|
|
| |
DW_FORM_flag. Use DW_FORM_data1 for one byte.
llvm-svn: 146475
|
| |
|
|
|
|
| |
in a 16-bit field.
llvm-svn: 146469
|
| |
|
|
|
|
|
|
|
|
|
| |
test cases where there were a lot of relocations applied relative to a large
rodata section. Gas would create a symbol for each of these whereas we would
be relative to the beginning of the rodata section. This change mimics what
gas does.
Patch by Jack Carter.
llvm-svn: 146468
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
undefined result. This adds new ISD nodes for the new semantics,
selecting them when the LLVM intrinsic indicates that the undef behavior
is desired. The new nodes expand trivially to the old nodes, so targets
don't actually need to do anything to support these new nodes besides
indicating that they should be expanded. I've done this for all the
operand types that I could figure out for all the targets. Owners of
various targets, please review and let me know if any of these are
incorrect.
Note that the expand behavior is *conservatively correct*, and exactly
matches LLVM's current behavior with these operations. Ideally this
patch will not change behavior in any way. For example the regtest suite
finds the exact same instruction sequences coming out of the code
generator. That's why there are no new tests here -- all of this is
being exercised by the existing test suite.
Thanks to Duncan Sands for reviewing the various bits of this patch and
helping me get the wrinkles ironed out with expanding for each target.
Also thanks to Chris for clarifying through all the discussions that
this is indeed the approach he was looking for. That said, there are
likely still rough spots. Further review much appreciated.
llvm-svn: 146466
|
| |
|
|
| |
llvm-svn: 146459
|