| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change reduces the number of instructions generated.
For example,
(load (add (sub $n0, $n1), (MipsLo got(s))))
results in the following sequence of instructions:
1. sub $n2, $n0, $n1
2. lw got(s)($n2)
Previously, three instructions were needed.
1. sub $n2, $n0, $n1
2. addiu $n3, $n2, got(s)
3. lw 0($n3)
llvm-svn: 146888
|
| |
|
|
| |
llvm-svn: 146887
|
| |
|
|
| |
llvm-svn: 146885
|
| |
|
|
|
|
|
| |
There's more variation that we need to handle. Error checking will need
to be on operand predicates.
llvm-svn: 146884
|
| |
|
|
| |
llvm-svn: 146882
|
| |
|
|
|
|
|
| |
Add the new TableGen register class synthesizer feature to the release
notes.
llvm-svn: 146875
|
| |
|
|
|
|
|
|
|
|
|
| |
Now that getMatchingSuperRegClass() returns accurate results, it can be
used to compute constraints imposed by instructions using a sub-register
of a virtual register.
This means we can recompute the register class of any virtual register
by combining the constraints from all its uses.
llvm-svn: 146874
|
| |
|
|
|
|
|
|
|
| |
Use information computed while inferring new register classes to emit
accurate, table-driven implementations of getMatchingSuperRegClass().
Delete the old manual, error-prone implementations in the targets.
llvm-svn: 146873
|
| |
|
|
|
|
| |
- Remove trailing spaces.
llvm-svn: 146854
|
| |
|
|
| |
llvm-svn: 146852
|
| |
|
|
|
|
| |
attribute themselve.
llvm-svn: 146851
|
| |
|
|
|
|
|
|
| |
function.
Some compilers were complaining about passing StringRef to it.
llvm-svn: 146850
|
| |
|
|
| |
llvm-svn: 146846
|
| |
|
|
|
|
|
|
|
|
|
| |
internal nightly testers. Original commit message:
By popular demand, link up types by name if they are isomorphic and one is an
autorenamed version of the other. This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large
app.
llvm-svn: 146838
|
| |
|
|
|
|
| |
Hope I did this correctly :)
llvm-svn: 146834
|
| |
|
|
| |
llvm-svn: 146833
|
| |
|
|
| |
llvm-svn: 146831
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
depending on previous branch on same comparison operands.
For example,
if (a == b) {
if (a > b) // this is false
Fixes some of the issues on <rdar://problem/10554090>
llvm-svn: 146822
|
| |
|
|
| |
llvm-svn: 146805
|
| |
|
|
|
|
| |
This will be used by SimplifyCfg in a later commit.
llvm-svn: 146803
|
| |
|
|
|
|
| |
asm parsing and testcase.
llvm-svn: 146801
|
| |
|
|
| |
llvm-svn: 146800
|
| |
|
|
|
|
| |
I don't think this affects anything but verbose assembly.
llvm-svn: 146787
|
| |
|
|
|
|
|
|
| |
"half precision" floating-point with a first-class type.
This patch adds basic IR support (but not codegen support).
llvm-svn: 146786
|
| |
|
|
|
|
|
|
|
| |
pointer or a reference type - we actually just want the size of the
pointer then for that.
Fixes rdar://10335756
llvm-svn: 146785
|
| |
|
|
| |
llvm-svn: 146784
|
| |
|
|
| |
llvm-svn: 146783
|
| |
|
|
| |
llvm-svn: 146780
|
| |
|
|
|
|
|
|
|
| |
The bad sorting caused a misaligned basic block when building 176.vpr in
ARM mode.
<rdar://problem/10594653>
llvm-svn: 146767
|
| |
|
|
|
|
|
|
| |
Hexatridecimal was added in r139695.
And fix the unittest that now triggers the assert.
llvm-svn: 146754
|
| |
|
|
|
|
|
|
|
|
|
| |
This adjustment is already included in the block offsets computed by
BasicBlockInfo, and adjusting again here can cause the pass to loop.
When CreateNewWater splits a basic block, OffsetIsInRange would reject
the new CPE on the next pass because of the too conservative alignment
adjustment. This caused the block to be split again, and so on.
llvm-svn: 146751
|
| |
|
|
|
|
| |
Reenable the tests.
llvm-svn: 146750
|
| |
|
|
| |
llvm-svn: 146744
|
| |
|
|
|
|
|
|
| |
The command line option should be removed, but not until the feature has
gotten a lot of testing. The ARMConstantIslandPass tends to have subtle
bugs that only show up after a while.
llvm-svn: 146739
|
| |
|
|
|
|
| |
regressions.
llvm-svn: 146735
|
| |
|
|
|
|
|
| |
autorenamed version of the other. This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large app.
llvm-svn: 146728
|
| |
|
|
|
|
| |
supported. Fix 'unpackh v, v' for 256-bit types to understand 128-bit lanes.
llvm-svn: 146726
|
| |
|
|
| |
llvm-svn: 146724
|
| |
|
|
|
|
| |
No need for an explicit test case for an unsupported combination of options.
llvm-svn: 146721
|
| |
|
|
| |
llvm-svn: 146714
|
| |
|
|
| |
llvm-svn: 146710
|
| |
|
|
|
|
| |
and friends, so we compute fixups correctly. PR11586.
llvm-svn: 146709
|
| |
|
|
| |
llvm-svn: 146702
|
| |
|
|
|
|
| |
value that isn't a 32-bit value. (This is just to be safe; I don't think this actually causes any issues in practice.)
llvm-svn: 146700
|
| |
|
|
| |
llvm-svn: 146699
|
| |
|
|
|
|
| |
This improves the readability of global-buffer-overflow reports.
llvm-svn: 146698
|
| |
|
|
| |
llvm-svn: 146692
|
| |
|
|
| |
llvm-svn: 146691
|
| |
|
|
|
|
|
| |
The code size increase is tiny (< 0.05%) because so little code uses
16-byte constant pool entries.
llvm-svn: 146690
|
| |
|
|
|
|
| |
Patch by Elena Demikhovsky <elena.demikhovsky@intel.com>!
llvm-svn: 146689
|