| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 132193
|
| |
|
|
|
|
| |
These should be DW_OP_bit_piece of CR (64).
llvm-svn: 132192
|
| |
|
|
| |
llvm-svn: 132190
|
| |
|
|
|
|
|
|
|
|
| |
- Flip order of bitfields. This gets our output matching GAS.
- Handle case where the end of the prolog wasn't specified.
- If the resulting unwind info struct is less than 8 bytes, pad to 8 bytes.
Add a test for the latter two.
llvm-svn: 132188
|
| |
|
|
|
|
|
|
| |
refer to them.
I tested this with both check-all and the gdb testsuite.
llvm-svn: 132187
|
| |
|
|
|
|
|
|
| |
trying instsimplify on the arm where we know the compared value.
Stuff like "x == y ? y : x&y" now folds into "x&y".
llvm-svn: 132185
|
| |
|
|
| |
llvm-svn: 132181
|
| |
|
|
| |
llvm-svn: 132180
|
| |
|
|
|
|
| |
followed by a conditional and imm8.
llvm-svn: 132179
|
| |
|
|
| |
llvm-svn: 132178
|
| |
|
|
|
|
|
| |
Use them to calculate the offset inside the prolog. Emit this value when
emitting the unwind codes.
llvm-svn: 132177
|
| |
|
|
|
|
|
|
| |
to 4 bytes.
I'm surprised no one caught the missing break statements.
llvm-svn: 132176
|
| |
|
|
|
|
|
|
| |
still report leaks, but they're spurious now. Valgrind cannot peer into
std::vector objects--or any dynamic array, for that matter--because it doesn't
know how big the array is.
llvm-svn: 132174
|
| |
|
|
|
|
|
| |
already defined, and err when the PushMachFrame operation isn't the first
operation (if specified at all).
llvm-svn: 132173
|
| |
|
|
|
|
| |
question isn't actually in instcombine).
llvm-svn: 132170
|
| |
|
|
| |
llvm-svn: 132168
|
| |
|
|
|
|
| |
InsertNewInstWith, and use setDebugLoc for the cases which can't be easily handled by the automated mechanisms.
llvm-svn: 132167
|
| |
|
|
|
|
|
|
| |
This looks like it flagged an actual bug. Devang, please review. I added
the parentheses that change behavior, but make the behavior more closely
match commit log's intent.
llvm-svn: 132165
|
| |
|
|
| |
llvm-svn: 132164
|
| |
|
|
|
|
|
| |
crc32.[8|16|32] have been renamed to .crc32.32.[8|16|32] and
crc64.[8|16|32] have been renamed to .crc32.64.[8|64].
llvm-svn: 132163
|
| |
|
|
| |
llvm-svn: 132162
|
| |
|
|
| |
llvm-svn: 132161
|
| |
|
|
|
|
| |
iSel may not be able to find corresponding Node for llvm.dbg.value during DAG construction. Make iSel's life easier by removing this distance between llvm.dbg.value and its value instruction.
llvm-svn: 132151
|
| |
|
|
| |
llvm-svn: 132149
|
| |
|
|
| |
llvm-svn: 132148
|
| |
|
|
|
|
| |
a function has any function calls.
llvm-svn: 132140
|
| |
|
|
| |
llvm-svn: 132136
|
| |
|
|
|
|
| |
broken for ARM, please remove the following XFAIL when it will be fixed.
llvm-svn: 132135
|
| |
|
|
| |
llvm-svn: 132132
|
| |
|
|
| |
llvm-svn: 132131
|
| |
|
|
| |
llvm-svn: 132128
|
| |
|
|
| |
llvm-svn: 132127
|
| |
|
|
| |
llvm-svn: 132126
|
| |
|
|
|
|
| |
assert that prevented setting alignment on section creation.
llvm-svn: 132113
|
| |
|
|
|
|
| |
to match Microsoft's definitions.
llvm-svn: 132112
|
| |
|
|
| |
llvm-svn: 132111
|
| |
|
|
| |
llvm-svn: 132110
|
| |
|
|
| |
llvm-svn: 132109
|
| |
|
|
| |
llvm-svn: 132108
|
| |
|
|
| |
llvm-svn: 132107
|
| |
|
|
|
|
|
|
|
|
|
| |
Rework how the MCWin64EHUnwindInfo instances are stored. Fix issues with
chained unwind areas exposed by the test that were related to this.
The ChainedParent field had the wrong address, because when the chained unwind
info was added, the addresses shifted around. Now we store the pointers to the
structures, which are now allocated from the MC heap.
llvm-svn: 132106
|
| |
|
|
|
|
| |
rdar://problem/6920088
llvm-svn: 132105
|
| |
|
|
|
|
|
|
| |
Use a proper worklist for use-def traversal without holding onto an
iterator. Now that we process all IV uses, we need complete logic for
resusing existing derived IV defs. See HoistStep.
llvm-svn: 132103
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This doesn't change functionality (much), but it allows for a more fine-grained
eviction policy. The current policy only compares spill weights, and that is not
always the best thing to do. Spill weights are designed to serve linear scan,
and they don't consider live range splitting.
Add a mechanism so canEvict() can request that a live range be evicted and
split/spilled. This is to avoid infinite eviction loops.
llvm-svn: 132101
|
| |
|
|
|
|
|
|
|
|
| |
simpler and more consistent.
The practical effects here are that x86-64 fast-isel can now handle trunc from i8 to i1, and ARM fast-isel can handle many more constructs involving integers narrower than 32 bits (including loads, stores, and many integer casts).
rdar://9437928 .
llvm-svn: 132099
|
| |
|
|
| |
llvm-svn: 132098
|
| |
|
|
| |
llvm-svn: 132097
|
| |
|
|
| |
llvm-svn: 132087
|
| |
|
|
| |
llvm-svn: 132086
|
| |
|
|
|
|
|
|
|
|
| |
them.
I had to add a special SwitchSectionNoChange method to MCStreamer just for
.seh_handlerdata. If this isn't OK, please let me know, and I'll find some
other way to fix .seh_handlerdata streaming.
llvm-svn: 132084
|