| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
| |
|
|
| |
llvm-svn: 75508
|
| |
|
|
|
|
|
|
|
| |
Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
|
| |
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
| |
|
|
| |
llvm-svn: 75153
|
| |
|
|
|
|
| |
bytes and not bytes.
llvm-svn: 74624
|
| |
|
|
|
|
|
|
|
|
| |
have the alignment be calculated up front, and have the back-ends obey whatever
alignment is decided upon.
This allows for future work that would allow for precise no-op placement and the
like.
llvm-svn: 74564
|
| |
|
|
| |
llvm-svn: 73476
|
| |
|
|
|
|
|
|
|
|
| |
carry GlobalBaseReg, and GlobalRetAddr too in Alpha's case. This
eliminates the need for them to search through the
MachineRegisterInfo livein list in order to identify these
virtual registers. EmitLiveInCopies is now the only user of the
virtual register portion of MachineRegisterInfo's livein data.
llvm-svn: 72802
|
| |
|
|
| |
llvm-svn: 72483
|
| |
|
|
|
|
|
| |
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
|
| |
|
|
|
|
| |
code that uses it by using SelectionDAG::getVTList instead.
llvm-svn: 68744
|
| |
|
|
| |
llvm-svn: 67737
|
| |
|
|
|
|
| |
Handle odd registers allocation in FGR32.
llvm-svn: 67422
|
| |
|
|
| |
llvm-svn: 67280
|
| |
|
|
| |
llvm-svn: 64438
|
| |
|
|
|
|
| |
ScheduleDAG's TLI member to use const.
llvm-svn: 64018
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Many targets build placeholder nodes for special operands, e.g.
GlobalBaseReg on X86 and PPC for the PIC base. There's no
sensible way to associate debug info with these. I've left
them built with getNode calls with explicit DebugLoc::getUnknownLoc operands.
I'm not too happy about this but don't see a good improvement;
I considered adding a getPseudoOperand or something, but it
seems to me that'll just make it harder to read.
llvm-svn: 63992
|
| |
|
|
| |
llvm-svn: 63969
|
| |
|
|
|
|
| |
Adjust callers.
llvm-svn: 63789
|
| |
|
|
|
|
| |
Adjust the many callers of those versions.
llvm-svn: 63767
|
| |
|
|
| |
llvm-svn: 62989
|
| |
|
|
| |
llvm-svn: 62279
|
| |
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
| |
|
|
|
|
|
|
|
|
| |
promote from i1 all the way up to the canonical SetCC type.
In order to discover an appropriate type to use, pass
MVT::Other to getSetCCResultType. In order to be able to
do this, change getSetCCResultType to take a type as an
argument, not a value (this is also more logical).
llvm-svn: 61542
|
| |
|
|
|
|
|
|
| |
MERGE_VALUES node with only one operand, so get
rid of special code that only existed to handle
that possibility.
llvm-svn: 60349
|
| |
|
|
|
|
|
| |
practice these booleans are mostly produced by SetCC,
however the concept is more general.
llvm-svn: 59911
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and add a TargetLowering hook for it to use to determine when this
is legal (i.e. not in PIC mode, etc.)
This allows instruction selection to emit folded constant offsets
in more cases, such as the included testcase, eliminating the need
for explicit arithmetic instructions.
This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp
that attempted to achieve the same effect, but wasn't as effective.
Also, fix handling of offsets in GlobalAddressSDNodes in several
places, including changing GlobalAddressSDNode's offset from
int to int64_t.
The Mips, Alpha, Sparc, and CellSPU targets appear to be
unaware of GlobalAddress offsets currently, so set the hook to
false on those targets.
llvm-svn: 57748
|
| |
|
|
| |
llvm-svn: 57649
|
| |
|
|
| |
llvm-svn: 57526
|
| |
|
|
|
|
|
| |
parameters instead of raw Constants. This prevents the constants from
being selected by the isel pass, fixing PR2735.
llvm-svn: 57385
|
| |
|
|
|
|
| |
Apologies for the thrashing.
llvm-svn: 56251
|
| |
|
|
|
|
|
|
|
|
| |
- Add linkage to SymbolSDNode (default to external).
- Change ISD::ExternalSymbol to ISD::Symbol.
- Change ISD::TargetExternalSymbol to ISD::TargetSymbol
These changes pave the way to allowing SymbolSDNodes with non-external linkage.
llvm-svn: 56249
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Currently it just holds the calling convention and flags
for isVarArgs and isTailCall.
And it has several utility methods, which eliminate magic
5+2*i and similar index computations in several places.
CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle
nodes that are not CSE'd gracefully.
llvm-svn: 56183
|
| |
|
|
|
|
|
| |
with ConstantInt. This led to fixing a bug in TargetLowering.cpp
using getValue instead of getAPIntValue.
llvm-svn: 56159
|
| |
|
|
|
|
| |
Node to reflect semantics
llvm-svn: 55504
|
| |
|
|
| |
llvm-svn: 55394
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is lowered properly and covers everything LowerSELECT_CC did.
Added method printUnsignedImm in AsmPrinter to print uimm16 operands. This
avoid the ugly instruction by instruction checking in printOperand.
Added a swap instruction present in the allegrex core.
Added two conditional instructions present in the allegrex core : MOVZ and MOVN.
They both allow a more efficient SELECT operation for integers.
Also added SELECT patterns to optimize MOVZ and MOVN usage.
The brcond and setcc patterns were cleaned: redundant and suboptimal patterns
were
removed. The suboptimals were replaced by more efficient ones.
Fixed some instructions that were using immZExt16 instead of immSExt16.
llvm-svn: 54724
|
| |
|
|
| |
llvm-svn: 54516
|
| |
|
|
|
|
|
|
|
| |
Fixed bug in adjustMipsStackFrame, which was breaking
while trying to access a dead stack object index. Also added
one more alignment before fixing the callee saved registers
stack offset adjustment.
llvm-svn: 54485
|
| |
|
|
|
|
|
| |
aren't used anyway, they also used to broke compiling when fastcc was specified for a
function, but not anymore.
llvm-svn: 54316
|
| |
|
|
| |
llvm-svn: 54315
|
| |
|
|
| |
llvm-svn: 54273
|
| |
|
|
| |
llvm-svn: 54250
|
| |
|
|
|
|
|
|
| |
work with
the default legalizer.
llvm-svn: 54249
|
| |
|
|
|
|
|
|
| |
access).
Added pattern to match bitconvert node.
Fixed MTC1 asm string bug.
llvm-svn: 54229
|
| |
|
|
| |
llvm-svn: 54215
|
| |
|
|
| |
llvm-svn: 54169
|
| |
|
|
| |
llvm-svn: 54167
|
| |
|
|
| |
llvm-svn: 54142
|