| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
incoming argument. However, It is appropriate to emit DBG_VALUE referring to this incoming argument in entry block in MachineFunction.
llvm-svn: 130129
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
|
|
|
|
|
|
| |
code.
Switch lowering probably shouldn't be using FP for this. This resolves PR9581.
llvm-svn: 129199
|
|
|
|
|
|
| |
is lowered into a call to the specified trap function at sdisel time.
llvm-svn: 129152
|
|
|
|
|
|
|
|
|
|
|
|
| |
It needed to be moved closer to the setjmp statement, because the code directly
after the setjmp needs to know about values that are on the stack. Also, the
'bitcast' of the function context was causing a dead load. This wouldn't be too
horrible, except that at -O0 it wasn't optimized out, and because it wasn't
using the correct base pointer (if there is a VLA), it would try to access a
value from a garbage address.
<rdar://problem/9130540>
llvm-svn: 128873
|
|
|
|
| |
llvm-svn: 128730
|
|
|
|
|
|
| |
should improve src line debug info when sdisel is used. rdar://9199118
llvm-svn: 128728
|
|
|
|
|
|
|
|
| |
It couldn't be used outside of the file because SDISelAsmOperandInfo
is local to SelectionDAGBuilder.cpp. Making it a static function avoids
a weird linkage dance.
llvm-svn: 128342
|
|
|
|
| |
llvm-svn: 127809
|
|
|
|
| |
llvm-svn: 127807
|
|
|
|
|
|
|
|
|
|
|
| |
rather than an int. Thankfully, this only causes LLVM to miss optimizations, not
generate incorrect code.
This just fixes the zext at the return. We still insert an i32 ZextAssert when
reading a function's arguments, but it is followed by a truncate and another i8
ZextAssert so it is not optimized.
llvm-svn: 127766
|
|
|
|
| |
llvm-svn: 127764
|
|
|
|
|
|
| |
without being touched, so no longer needs to pollute the hidden-help text.
llvm-svn: 127468
|
|
|
|
|
|
| |
the type of the LHS.
llvm-svn: 126518
|
|
|
|
| |
llvm-svn: 126471
|
|
|
|
|
|
| |
and make the actual map private.
llvm-svn: 126376
|
|
|
|
| |
llvm-svn: 126185
|
|
|
|
|
|
|
|
|
| |
registers
at phis. This enables us to eliminate a lot of pointless zexts during the DAGCombine
phase. This fixes <rdar://problem/8760114>.
llvm-svn: 126170
|
|
|
|
|
|
|
|
| |
is only used through GEPs.
This time with a fix that avoids using invalidated DenseMap iterator.
llvm-svn: 125984
|
|
|
|
| |
llvm-svn: 125830
|
|
|
|
|
|
| |
is only used through GEPs.
llvm-svn: 125794
|
|
|
|
| |
llvm-svn: 125537
|
|
|
|
|
|
| |
builders unhappy.
llvm-svn: 125504
|
|
|
|
|
|
| |
idiom. Change various clients to simplify their code.
llvm-svn: 125487
|
|
|
|
|
|
|
|
|
| |
generating i8 shift amounts for things like i1024 types. Add
an assert in getNode to prevent this from occuring in the future,
fix the buggy transformation, revert my previous patch, and
document this gotcha in ISDOpcodes.h
llvm-svn: 125465
|
|
|
|
|
|
|
|
|
| |
the shift amounts are in a suitably wide type so that
we don't generate out of range constant shift amounts.
This fixes PR9028.
llvm-svn: 125458
|
|
|
|
|
|
|
| |
is narrower than the shift register. Doing an anyext provides undefined bits in
the top part of the register.
llvm-svn: 125457
|
|
|
|
| |
llvm-svn: 124472
|
|
|
|
|
|
| |
intrinisic.
llvm-svn: 124203
|
|
|
|
| |
llvm-svn: 124142
|
|
|
|
|
|
| |
intrinisic.
llvm-svn: 124138
|
|
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
|
|
|
|
|
|
|
| |
These functions not longer assert when passed 0, but simply return false instead.
No functional change intended.
llvm-svn: 123155
|
|
|
|
|
|
| |
TargetRegisterInfo::FirstVirtualRegister.
llvm-svn: 123096
|
|
|
|
|
|
|
|
|
|
| |
Instead encode llvm IR level property "HasSideEffects" in an operand (shared
with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check
the operand when the instruction is an INLINEASM.
This allows memory instructions to be moved around INLINEASM instructions.
llvm-svn: 123044
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also fix an off-by-one in SelectionDAGBuilder that was preventing shuffle
vectors from being translated to EXTRACT_SUBVECTOR.
Patch by Tim Northover.
The test changes are needed to keep those spill-q tests from testing aligned
spills and restores. If the only aligned stack objects are spill slots, we
no longer realign the stack frame. Prior to this patch, an EXTRACT_SUBVECTOR
was legalized by loading from the stack, which created an aligned frame index.
Now, however, there is nothing except the spill slot in the stack frame, so
I added an aligned alloca.
llvm-svn: 122995
|
|
|
|
|
|
|
| |
the original type of the switch statement key.
rdar://8781238
llvm-svn: 122935
|
|
|
|
|
|
|
| |
something that just glues two nodes together, even if it is
sometimes used for flags.
llvm-svn: 122310
|
|
|
|
| |
llvm-svn: 121662
|
|
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121120
|
|
|
|
|
|
| |
message instead of creating DBG_VALUE for undefined value in reg0.
llvm-svn: 121059
|
|
|
|
|
|
| |
and use this to disable a specific optimization. Patch by Micah Villmow!
llvm-svn: 120435
|
|
|
|
| |
llvm-svn: 119990
|
|
|
|
|
|
|
| |
This currently only catches the most basic case, a two-case switch, but can be
extended later.
llvm-svn: 119964
|
|
|
|
|
|
| |
but not complicated enough to merit another test.
llvm-svn: 119898
|
|
|
|
| |
llvm-svn: 119590
|
|
|
|
| |
llvm-svn: 118913
|
|
|
|
|
|
|
|
|
| |
catastrophic compilation time in the event of unreasonable LLVM
IR. Code quality is a separate issue--someone upstream needs to do a
better job of reducing to llvm.memcpy. If the situation can be reproduced with
any supported frontend, then it will be a separate bug.
llvm-svn: 118904
|
|
|
|
| |
llvm-svn: 118896
|
|
|
|
| |
llvm-svn: 118789
|