| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp.
llvm-svn: 89681
|
|
|
|
|
|
| |
in this file.
llvm-svn: 89675
|
|
|
|
|
|
| |
FunctionLoweringInfo.cpp.
llvm-svn: 89674
|
|
|
|
|
|
|
| |
of SelectionDAGBuild.h/cpp into its own files, to help separate
general lowering logic from SelectionDAG-specific lowering logic.
llvm-svn: 89667
|
|
|
|
|
|
| |
and support for blockaddresses in x86-32 PIC mode.
llvm-svn: 89506
|
|
|
|
| |
llvm-svn: 88737
|
|
|
|
| |
llvm-svn: 88672
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
slots. The AsmPrinter will use this information to determine whether to
print a spill/reload comment.
Remove default argument values. It's too easy to pass a wrong argument
value when multiple arguments have default values. Make everything
explicit to trap bugs early.
Update all targets to adhere to the new interfaces..
llvm-svn: 87022
|
|
|
|
|
|
| |
make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.
llvm-svn: 87014
|
|
|
|
|
|
| |
in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction.
llvm-svn: 86876
|
|
|
|
| |
llvm-svn: 86748
|
|
|
|
|
|
| |
just throw them away.
llvm-svn: 86678
|
|
|
|
| |
llvm-svn: 86600
|
|
|
|
| |
llvm-svn: 86354
|
|
|
|
|
|
| |
values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers
llvm-svn: 86324
|
|
|
|
| |
llvm-svn: 85648
|
|
|
|
| |
llvm-svn: 85556
|
|
|
|
| |
llvm-svn: 85436
|
|
|
|
| |
llvm-svn: 85351
|
|
|
|
| |
llvm-svn: 85325
|
|
|
|
| |
llvm-svn: 85323
|
|
|
|
| |
llvm-svn: 85296
|
|
|
|
|
|
|
| |
(assembler,asmprinter, bc reader+writer) and document it. Codegen
currently aborts on it.
llvm-svn: 85274
|
|
|
|
|
|
| |
do anything than return "I don't know" at the moment.
llvm-svn: 85189
|
|
|
|
|
|
|
| |
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
llvm-svn: 85176
|
|
|
|
|
|
| |
the scale overflows pointer-sized arithmetic. This fixes PR5281.
llvm-svn: 84954
|
|
|
|
|
|
|
|
|
|
|
| |
stack slots and giving them different PseudoSourceValue's did not fix the
problem of post-alloc scheduling miscompiling llvm itself.
- Apply Dan's conservative workaround by assuming any non fixed stack slots can
alias other memory locations. This means a load from spill slot #1 cannot
move above a store of spill slot #2.
- Enable post-alloc scheduling for x86 at optimization leverl Default and above.
llvm-svn: 84424
|
|
|
|
|
|
| |
PseudoSourceValue.
llvm-svn: 84411
|
|
|
|
| |
llvm-svn: 84321
|
|
|
|
|
|
| |
necessarily fixed. Only those will negative frame indices are "fixed."
llvm-svn: 84315
|
|
|
|
| |
llvm-svn: 84299
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector.
Likewise for eh.typeid.for. This aligns us with gcc, which always uses a
32 bit value for the selector on all platforms. My understanding is that
the register allocator used to assert if the selector intrinsic size didn't
match the pointer size, and this was the reason for introducing the two
variants. However my testing shows that this is no longer the case (I
fixed some bugs in selector lowering yesterday, and some more today in the
fastisel path; these might have caused the original problems).
llvm-svn: 84106
|
|
|
|
|
|
| |
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g
llvm-svn: 84054
|
|
|
|
|
|
|
|
|
|
|
|
| |
truncating an SDValue (depending on whether the target
type is bigger or smaller than the value's type); or zero
extending or truncating it. Use it in a few places (this
seems to be a popular operation, but I only modified cases
of it in SelectionDAGBuild). In particular, the eh_selector
lowering was doing this wrong due to a repeated rather than
inverted test, fixed with this change.
llvm-svn: 84027
|
|
|
|
|
|
|
|
| |
alloca or llvm.dbg.declare location.
While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.
llvm-svn: 83684
|
|
|
|
|
|
|
| |
before producing FSIN, FCOS, FSQRT. If they aren't
so marked we have to assume they might set errno.
llvm-svn: 82781
|
|
|
|
|
|
|
|
|
|
|
|
| |
allows appropriate backends to generate a sqrt instruction.
On x86, this isn't done at -O0 because we go through
FastISel instead. This is a behavior change from before
this series of sqrt patches started. I think this is OK
considering that compile speed is most important at -O0, but
could be convinced otherwise.
llvm-svn: 82778
|
|
|
|
|
|
|
|
| |
sdisel will use to properly complete phi nodes.
Not functionality change yet.
llvm-svn: 82273
|
|
|
|
| |
llvm-svn: 82245
|
|
|
|
|
|
| |
64-bit systems.
llvm-svn: 82180
|
|
|
|
|
|
|
|
| |
the current alignment based
on the source value offset. This avoids increasing the size of mem nodes.
llvm-svn: 81897
|
|
|
|
|
|
|
| |
DAG Combiner to disambiguate chains for loads and stores of types which are
broken up by the Legalizer into smaller pieces.
llvm-svn: 81813
|
|
|
|
|
|
|
| |
null in the case of an empty struct, so don't try to call getNumValues
on it.
llvm-svn: 81180
|
|
|
|
| |
llvm-svn: 81124
|
|
|
|
|
|
| |
about by icc (#593, partial). Patch by Erick Tryzelaar.
llvm-svn: 81115
|
|
|
|
|
|
| |
Do not use DenseMap operator[] because it inserts new entry if lookup fails. Use find() to check an entry in a DenseMap first.
llvm-svn: 81058
|
|
|
|
| |
llvm-svn: 80773
|
|
|
|
|
|
| |
Use MDNodes to encode debug info in llvm IR.
llvm-svn: 80406
|
|
|
|
| |
llvm-svn: 80073
|
|
|
|
|
|
|
|
| |
llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.
This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)
llvm-svn: 79977
|