| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
erroring out completely. Some modules produce sections that aren't referenced,
so it's friendlier to clients like LLDB to just skip them, at least for now.
llvm-svn: 131243
|
| |
|
|
|
|
| |
test bug and also taught it to update liveins.
llvm-svn: 131241
|
| |
|
|
|
|
| |
an attribute DW_AT_APPLE_objc_class_extension.
llvm-svn: 131238
|
| |
|
|
|
|
| |
configuration.
llvm-svn: 131235
|
| |
|
|
| |
llvm-svn: 131234
|
| |
|
|
| |
llvm-svn: 131233
|
| |
|
|
|
|
|
|
|
| |
markers. In some cases a register def is dead on one path, but not on
another.
This is passing Clang self-hosting.
llvm-svn: 131214
|
| |
|
|
|
|
|
| |
Interleave IV simplifications. Currently involves EliminateComparison
and EliminateRemainder. Next I'll add EliminateExtend.
llvm-svn: 131210
|
| |
|
|
| |
llvm-svn: 131208
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM and binutils.
With this patch, there are no functional differences between the .o
produced directly from LLVM versus the .s to .o via GNU as, for relocation tags
at least, for both PIC and non-PIC modes.
Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is
necessary but not sufficient to determine whether the overall codegen mode is
PIC or not. Why is this necessary? There is an incompatibility of how relocs
are emitted in the .rodata section. Binutils PIC likes to emit certain relocs
as section relative offsets. Non-PIC does not do this.
So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which
forces the objectwriter to pretend that all relocs are for PIC mode.
Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected
on llc.
Todo: There are probably more issues for PIC mode on ARM/MC/ELF...
Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s
tests as well as expanded to cover the gamut.
llvm-svn: 131205
|
| |
|
|
|
|
| |
Part of rdar://8470697
llvm-svn: 131200
|
| |
|
|
|
|
| |
DW_LNS_set_prologue_end line table opcode.
llvm-svn: 131194
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
about to be spilled.
This can only happen when two extra snippet registers are included in the spill,
and there is a copy between them. Hoisting the spill creates problems because
the hoist will mark the copy for later dead code elimination, and spilling the
second register will turn the copy into a spill.
<rdar://problem/9420853>
llvm-svn: 131192
|
| |
|
|
| |
llvm-svn: 131189
|
| |
|
|
| |
llvm-svn: 131187
|
| |
|
|
|
|
|
|
|
| |
This change allows bugpoint to pinpoint the "opt" pass and bitcode
segment responsible for a crash caused by miscompilation. At least it
works well for me now, without having to create any custom execution
wrappers.
llvm-svn: 131186
|
| |
|
|
|
|
|
|
| |
If there is a store after the load node, then there is a chain, which means
that there is another user. Thus, asking hasOneUser would fail. Instead we
ask hasNUsesOfValue on the 'data' value.
llvm-svn: 131183
|
| |
|
|
|
|
| |
splat vector.
llvm-svn: 131179
|
| |
|
|
|
|
| |
to provide a reduced testcase.
llvm-svn: 131176
|
| |
|
|
|
|
|
|
| |
intrinsic call. This prevents it from being reordered so that it appears
*before* the setjmp intrinsic (thus making it completely useless).
<rdar://problem/9409683>
llvm-svn: 131174
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
at the start of basic blocks to their common predecessor. It's actually quite
common (e.g. about 50 times in JM/lencod) and has shown to be a nice code size
benefit. e.g.
pushq %rax
testl %edi, %edi
jne LBB0_2
## BB#1:
xorb %al, %al
popq %rdx
ret
LBB0_2:
xorb %al, %al
callq _foo
popq %rdx
ret
=>
pushq %rax
xorb %al, %al
testl %edi, %edi
je LBB0_2
## BB#1:
callq _foo
LBB0_2:
popq %rdx
ret
rdar://9145558
llvm-svn: 131172
|
| |
|
|
|
|
|
|
| |
Next up: xor and and.
Part of rdar://8470697
llvm-svn: 131171
|
| |
|
|
| |
llvm-svn: 131164
|
| |
|
|
| |
llvm-svn: 131162
|
| |
|
|
| |
llvm-svn: 131161
|
| |
|
|
| |
llvm-svn: 131160
|
| |
|
|
|
|
| |
headers.
llvm-svn: 131159
|
| |
|
|
| |
llvm-svn: 131157
|
| |
|
|
|
|
| |
rdar://problem/9413587 .
llvm-svn: 131156
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
standard set of passes used by front ends can now be modified by LLVM plugins, without needing to modify any front ends.
Still to do:
- Allow replacing / removing passes (infrastructure there, just needs an infrastructure exposed)
- Defining sets of passes to be added or removed as a group
- Extending the support to allow user-defined groups of optimisations
- Allow plugins to be specified for loading automatically (e.g. from plugins.conf or some similar mechanism)
Reviewed by Nick Lewycky.
llvm-svn: 131155
|
| |
|
|
|
|
|
| |
test case; I've only seen this on a release branch, and I can't get it
to reproduce on trunk. rdar://problem/7662569
llvm-svn: 131152
|
| |
|
|
| |
llvm-svn: 131151
|
| |
|
|
| |
llvm-svn: 131149
|
| |
|
|
|
|
| |
DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList.
llvm-svn: 131148
|
| |
|
|
| |
llvm-svn: 131146
|
| |
|
|
|
|
|
|
|
| |
this clang will use .debug_frame in, for example,
clang -g -c -m32 test.c
This matches gcc's behaviour. It looks like .debug_frame is a bit bigger
than .eh_frame, but has the big advantage of not being allocated.
llvm-svn: 131140
|
| |
|
|
|
|
| |
cut and paste.
llvm-svn: 131139
|
| |
|
|
|
|
|
| |
DWARF stuff also gets fixed up by ELFARMAsmBackend::ApplyFixup(),
but the offset is not guaranteed to be mod 4 == 0 as in text/data.
llvm-svn: 131137
|
| |
|
|
|
|
|
|
| |
The previous invalidation missed the alias interference caches.
Also add a stats counter for the number of repaired ranges.
llvm-svn: 131133
|
| |
|
|
| |
llvm-svn: 131129
|
| |
|
|
|
|
| |
one of the sections is created.
llvm-svn: 131124
|
| |
|
|
|
|
| |
Patch by Wei-Ren Chen
llvm-svn: 131123
|
| |
|
|
| |
llvm-svn: 131121
|
| |
|
|
| |
llvm-svn: 131120
|
| |
|
|
| |
llvm-svn: 131119
|
| |
|
|
| |
llvm-svn: 131118
|
| |
|
|
| |
llvm-svn: 131117
|
| |
|
|
| |
llvm-svn: 131112
|
| |
|
|
| |
llvm-svn: 131106
|
| |
|
|
|
|
| |
Patch by Evan Cheng.
llvm-svn: 131093
|