| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
instruction selector to generate them.
llvm-svn: 141471
|
| |
|
|
| |
llvm-svn: 141470
|
| |
|
|
|
|
|
|
| |
across unwind edges. This is for the back-end which expects such things.
The code is from the original SjLj EH pass.
llvm-svn: 141463
|
| |
|
|
| |
llvm-svn: 141449
|
| |
|
|
| |
llvm-svn: 141448
|
| |
|
|
| |
llvm-svn: 141446
|
| |
|
|
|
|
| |
Fixes rdar://problem/5064068
llvm-svn: 141442
|
| |
|
|
|
|
| |
integers where there is unsigned overflow. Fix APFloat::toString so that it doesn't depend on the incorrect behavior in common cases (and computes the correct result in some rare cases). Fixes PR11086.
llvm-svn: 141441
|
| |
|
|
| |
llvm-svn: 141440
|
| |
|
|
| |
llvm-svn: 141439
|
| |
|
|
| |
llvm-svn: 141438
|
| |
|
|
|
|
|
|
|
|
|
| |
successor. Remove the old landing pad from their successor list, because it's
now the successor of the dispatch block. Now that the landing pad blocks are no
longer the destination of invokes, we can mark them as normal basic blocks
instead of landing pads.
This more closely resembles what the CFG is actually doing.
llvm-svn: 141436
|
| |
|
|
|
|
|
| |
it with the new SjLj emitter stuff. This way there's no need to emit that
kind-of-hacky intrinsic.
llvm-svn: 141419
|
| |
|
|
|
|
| |
do. This will be useful later on with the new SJLJ stuff.
llvm-svn: 141416
|
| |
|
|
|
|
| |
patch by Cary Coutant!
llvm-svn: 141413
|
| |
|
|
| |
llvm-svn: 141412
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This instruction is explicitly encoded without an REX prefix, so both
operands but be *_NOREX.
Also add an assertion to copyPhysReg() that fires when the MOV8rr_NOREX
constraints are not satisfied.
This fixes a miscompilation in 20040709-2 in the gcc test suite.
llvm-svn: 141410
|
| |
|
|
| |
llvm-svn: 141389
|
| |
|
|
| |
llvm-svn: 141385
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consider:
mov r8, r11 fred
Previously, we issued the not very informative:
x.s:6:1: error: unexpected token in argument list
^
Now we generate:
x.s:5:14: error: unexpected token in argument list
mov r8, r11 fred
^
llvm-svn: 141380
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--- Reverse-merging r141377 into '.':
U tools/llvm-objdump/MachODump.cpp
--- Reverse-merging r141376 into '.':
U include/llvm/Object/COFF.h
U include/llvm/Object/ObjectFile.h
U include/llvm-c/Object.h
U tools/llvm-objdump/llvm-objdump.cpp
U lib/Object/MachOObjectFile.cpp
U lib/Object/COFFObjectFile.cpp
U lib/Object/Object.cpp
U lib/Object/ELFObjectFile.cpp
llvm-svn: 141379
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multidefs are a bit unwieldy and incomplete. Remove them in favor of
another mechanism, probably for loops.
Revert "Make Test More Thorough"
Revert "Fix a typo."
Revert "Vim Support for Multidefs"
Revert "Emacs Support for Multidefs"
Revert "Document Multidefs"
Revert "Add a Multidef Test"
Revert "Update Test for Multidefs"
Revert "Process Multidefs"
Revert "Parser Multidef Support"
Revert "Lexer Support for Multidefs"
Revert "Add Multidef Data Structures"
llvm-svn: 141378
|
| |
|
|
| |
llvm-svn: 141376
|
| |
|
|
| |
llvm-svn: 141371
|
| |
|
|
| |
llvm-svn: 141370
|
| |
|
|
| |
llvm-svn: 141368
|
| |
|
|
| |
llvm-svn: 141366
|
| |
|
|
|
|
| |
Patch by Ana Pazos!
llvm-svn: 141365
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
switch (n) {
case 27:
do_something(x);
...
}
the call do_something(x) will be replaced with do_something(27). In
gcc-as-one-big-file this results in the removal of about 500 lines of
bitcode (about 0.02%), so has about 1/10 of the effect of propagating
branch conditions.
llvm-svn: 141360
|
| |
|
|
| |
llvm-svn: 141358
|
| |
|
|
|
|
| |
Fixes <rdar://problem/10235725>
llvm-svn: 141357
|
| |
|
|
| |
llvm-svn: 141356
|
| |
|
|
| |
llvm-svn: 141354
|
| |
|
|
|
|
| |
64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine.
llvm-svn: 141353
|
| |
|
|
| |
llvm-svn: 141342
|
| |
|
|
|
|
|
| |
others. They take the call site value. Determine if it's a proper value. And
then jumps to the correct call site via a jump table.
llvm-svn: 141341
|
| |
|
|
|
|
| |
perform the check before adding the Thumb predicate, which pops on entry off the ITBlock queue.
llvm-svn: 141339
|
| |
|
|
|
|
| |
with this patch.
llvm-svn: 141333
|
| |
|
|
| |
llvm-svn: 141327
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 141323
|
| |
|
|
|
|
| |
Place the immediate to OR into a register so that it works.
llvm-svn: 141319
|
| |
|
|
|
|
| |
* Some code cleanup.
llvm-svn: 141317
|
| |
|
|
|
|
|
|
|
| |
Fix VarListElementInit::resolveListElementReference to return a
partially resolved VarListElementInint in the case where full
resolution is not possible. This allows TableGen to make forward
progress resolving certain complex list expressions.
llvm-svn: 141315
|
| |
|
|
| |
llvm-svn: 141313
|
| |
|
|
| |
llvm-svn: 141306
|
| |
|
|
| |
llvm-svn: 141305
|
| |
|
|
| |
llvm-svn: 141299
|
| |
|
|
|
|
| |
Compare the entire keyword string.
llvm-svn: 141295
|
| |
|
|
|
|
|
|
| |
They are not in sync now, for example Bitcast would show up as LLVMCall.
So instead introduce 2 functions that map to and from the opcodes in the C
bindings.
llvm-svn: 141290
|
| |
|
|
| |
llvm-svn: 141288
|