| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 142295
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the custom inserter for the ARM setjmp intrinsics. Instead of creating the
SjLj dispatch table in IR, where it frequently violates serveral assumptions --
in particular assumptions made by the landingpad instruction about what can
branch to a landing pad and what cannot. Performing this in the back-end allows
us to violate these assumptions without the IR getting angry at us.
It also allows us to perform a small optimization. We can shove the address of
the dispatch's basic block into the function context and not have to add code
around the setjmp to check for the return value and jump to the dispatch.
Neat, huh?
<rdar://problem/10116753>
llvm-svn: 142294
|
| |
|
|
|
|
|
|
| |
NEON immediates are "interesting". Start of the work to handle parsing them
in an 'as' compatible manner. Getting the matcher to play nicely with
these and the floating point immediates from VFP is an extra fun wrinkle.
llvm-svn: 142293
|
| |
|
|
|
|
| |
Invalid strings in asm files will result in parse errors. Invalid string literals passed to TargetData constructors will result in an assertion.
llvm-svn: 142288
|
| |
|
|
|
|
|
|
|
| |
to match its final use.
With this change, all of test-suite compiles for Thumb2 with -verify-coalescing
enabled.
llvm-svn: 142287
|
| |
|
|
| |
llvm-svn: 142259
|
| |
|
|
|
|
| |
pass renumbers the blocks again.
llvm-svn: 142258
|
| |
|
|
|
|
|
|
| |
combining of the landingpad instruction. The ObjC personality function acts
almost identically to the C++ personality function. In particular, it uses
"null" as a "catch-all" value.
llvm-svn: 142256
|
| |
|
|
|
|
| |
lowered to. This fixes a lot of verifier failures on the test suite.
llvm-svn: 142254
|
| |
|
|
| |
llvm-svn: 142248
|
| |
|
|
|
|
| |
Enable bounds checking to catch this kind of bug earlier.
llvm-svn: 142247
|
| |
|
|
|
|
|
| |
Once the intrinsics are marked as having a custom inserter, it will call this
method to emit the dispatch table into the machine function.
llvm-svn: 142245
|
| |
|
|
| |
llvm-svn: 142239
|
| |
|
|
| |
llvm-svn: 142238
|
| |
|
|
|
|
| |
another. rdar://10293289
llvm-svn: 142234
|
| |
|
|
|
|
|
| |
expanding conditional moves, which is not needed since architectures that lack
support for conditional moves have been removed.
llvm-svn: 142226
|
| |
|
|
| |
llvm-svn: 142224
|
| |
|
|
|
|
| |
Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142223
|
| |
|
|
|
|
|
| |
possibility that it will span multiple CFG diamonds/triangles which
could have different controlling predicates. rdar://10282956
llvm-svn: 142222
|
| |
|
|
|
|
|
| |
Some code want to check that *any* call within a function has the 'returns
twice' attribute, not just that the current function has one.
llvm-svn: 142221
|
| |
|
|
| |
llvm-svn: 142220
|
| |
|
|
| |
llvm-svn: 142217
|
| |
|
|
| |
llvm-svn: 142216
|
| |
|
|
| |
llvm-svn: 142214
|
| |
|
|
|
|
|
| |
obsolete. Check the attribute instead.
<rdar://problem/8031714>
llvm-svn: 142212
|
| |
|
|
| |
llvm-svn: 142211
|
| |
|
|
|
|
| |
source registers and redefine 32-bit and 64-bit instructions.
llvm-svn: 142210
|
| |
|
|
| |
llvm-svn: 142209
|
| |
|
|
|
|
| |
and have 32-bit and 64-bit instructions derive from it.
llvm-svn: 142207
|
| |
|
|
|
|
| |
Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142206
|
| |
|
|
| |
llvm-svn: 142205
|
| |
|
|
| |
llvm-svn: 142204
|
| |
|
|
|
|
|
|
| |
caused by r141689.
Radar 10281206.
llvm-svn: 142202
|
| |
|
|
|
|
| |
There is no reason to have simple IR level pass in lib/Target.
llvm-svn: 142200
|
| |
|
|
|
|
| |
to reflect this
llvm-svn: 142194
|
| |
|
|
|
|
| |
that cpuid leaf 7 can't be queried on versions of Visual Studio earlier than VS 2008 SP1. Fixes PR11147.
llvm-svn: 142177
|
| |
|
|
| |
llvm-svn: 142176
|
| |
|
|
| |
llvm-svn: 142171
|
| |
|
|
| |
llvm-svn: 142170
|
| |
|
|
|
|
|
|
|
|
|
|
| |
profile metadata at the same time. Use it to preserve metadata attached
to a branch when re-writing it in InstCombine.
Add metadata to the canonicalize_branch InstCombine test, and check that
it is tranformed correctly.
Reviewed by Nick Lewycky!
llvm-svn: 142168
|
| |
|
|
|
|
|
| |
directly manipulates the weights inside of the BranchProbabilityInfo
that is passed in.
llvm-svn: 142163
|
| |
|
|
| |
llvm-svn: 142162
|
| |
|
|
|
|
| |
Changed tests which assumed that vectors are legalized by widening them.
llvm-svn: 142152
|
| |
|
|
|
|
| |
on the memcpy call will pull up other unrelated stuff. Fixes PR11142.
llvm-svn: 142150
|
| |
|
|
| |
llvm-svn: 142141
|
| |
|
|
|
|
| |
While at it, merge some format strings.
llvm-svn: 142140
|
| |
|
|
| |
llvm-svn: 142139
|
| |
|
|
|
|
|
|
| |
<stdin>:1:12: error: register %rax is only available in 64-bit mode
incl %rax
^~~~
llvm-svn: 142137
|
| |
|
|
|
|
|
|
|
|
| |
print ranges for invalid operands.
<stdin>:1:4: error: invalid instruction mnemonic 'abc'
abc incl %edi
^~~
llvm-svn: 142135
|
| |
|
|
|
|
|
|
| |
diagnostics for #line directives.
This reenables proper inline asm diagnostics in clang
llvm-svn: 142132
|