| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
CallOrPrologue correctly and eliminate the existing setter.
llvm-svn: 132856
|
| |
|
|
|
|
| |
comment on their meaning.
llvm-svn: 132854
|
| |
|
|
| |
llvm-svn: 132853
|
| |
|
|
| |
llvm-svn: 132844
|
| |
|
|
|
|
|
|
| |
VK_PPC_{HA,LO}16 into darwin and gas variants.
Darwin wants {ha,lo}16(symbol) while gnu as wants symbol@{ha,l}.
llvm-svn: 132802
|
| |
|
|
| |
llvm-svn: 132797
|
| |
|
|
|
|
|
|
| |
No functional change.
Part of PR6965
llvm-svn: 132763
|
| |
|
|
|
|
| |
on CINT2006 for x86-32.
llvm-svn: 132707
|
| |
|
|
|
|
|
|
|
|
|
| |
We still don't handle
* default values
* :req
* :vararg
* \()
llvm-svn: 132656
|
| |
|
|
| |
llvm-svn: 132641
|
| |
|
|
|
|
|
|
|
|
|
| |
BranchProbabilityInfo provides an interface for IR passes to query the
likelihood that control follows a CFG edge. This patch provides an
initial implementation of static branch predication that will populate
BranchProbabilityInfo for branches with no external profile
information using very simple heuristics. It currently isn't hooked up
to any external profile data, so static prediction does all the work.
llvm-svn: 132613
|
| |
|
|
|
|
|
|
|
| |
queries in the case of a DAG, where a query reaches a node
visited earlier, but it's not on a cycle. This avoids
MayAlias results in cases where BasicAA is expected to
return MustAlias or PartialAlias in order to protect TBAA.
llvm-svn: 132609
|
| |
|
|
|
|
| |
typedef decl itself. Use extra parameter to communicate this to DIBuilder.
llvm-svn: 132556
|
| |
|
|
|
|
|
| |
the handler's data area is similar to a DWARF-format LSDA. (It is, in fact,
a 32-bit pointer to the personality routine followed by the DWARF LSDA.)
llvm-svn: 132532
|
| |
|
|
|
|
| |
Part of rdar://9119939
llvm-svn: 132510
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some register classes are only used for instruction operand constraints.
They should never be used for virtual registers. Previously, those
register classes were given an empty allocation order, but now you can
say 'let isAllocatable=0' in the register class definition.
TableGen calculates if a register is part of any allocatable register
class, and makes that information available in TargetRegisterDesc::inAllocatableClass.
The goal here is to eliminate use cases for overriding allocation_order_*
methods.
llvm-svn: 132508
|
| |
|
|
| |
llvm-svn: 132488
|
| |
|
|
| |
llvm-svn: 132451
|
| |
|
|
| |
llvm-svn: 132437
|
| |
|
|
|
|
| |
Fixes valgrind errors in the CellSPU backend.
llvm-svn: 132405
|
| |
|
|
|
|
|
|
| |
Add TargetRegisterInfo::hasSubClassEq and use it to check for compatible
register classes instead of trying to list all register classes in
X86's getLoadStoreRegOpcode.
llvm-svn: 132398
|
| |
|
|
| |
llvm-svn: 132395
|
| |
|
|
|
|
|
|
|
| |
patch we add a flag to enable a new type legalization decision - to promote
integer elements in vectors. Currently, the rest of the codegen does not support
this kind of legalization. This flag will be removed when the transition is
complete.
llvm-svn: 132394
|
| |
|
|
|
|
| |
patch to TargetLowering.cpp. rdar://problem/5660695
llvm-svn: 132388
|
| |
|
|
|
|
| |
space, and the destination address space. Fix up the interface on MemIntrinsic and MemTransferInst to make this clear, and fix InstructionDereferencesPointer in LazyValueInfo.cpp to use the interface properly.
llvm-svn: 132356
|
| |
|
|
| |
llvm-svn: 132341
|
| |
|
|
| |
llvm-svn: 132340
|
| |
|
|
| |
llvm-svn: 132336
|
| |
|
|
|
|
|
|
|
|
|
|
| |
specific number of bits for each
value. Both signed and unsigned types can be used, e.g
PackedVector<signed, 2> vec;
will create a vector accepting values -2, -1, 0, 1. Any other value will hit an assertion.
llvm-svn: 132325
|
| |
|
|
|
|
|
|
| |
directives.
Fixes PR9826.
llvm-svn: 132317
|
| |
|
|
|
|
|
|
|
|
| |
same dwarf number. This will be used for creating a dwarf number to register
mapping.
The only case that needs this so far is the XMM/YMM registers that unfortunately
do have the same numbers.
llvm-svn: 132314
|
| |
|
|
| |
llvm-svn: 132294
|
| |
|
|
|
|
|
| |
This is important for the correct lowering of unwind instructions
(which doesn't matter at all) and llvm.eh.resume calls (which does).
llvm-svn: 132291
|
| |
|
|
|
|
|
|
|
|
|
| |
LegalizeTypeAction.
This patch does not change the behavior of the type legalizer. The codegen
produces the same code.
This infrastructural change is needed in order to enable complex decisions
for vector types (needed by the vector-select patch).
llvm-svn: 132263
|
| |
|
|
|
|
|
|
|
| |
switch. With this newfound organization, teach tblgen how not to give
all intrinsics the 'nounwind' attribute. Introduce a new intrinsic,
llvm.eh.resume, which does not have this attribute. Documentation and uses
to follow.
llvm-svn: 132252
|
| |
|
|
| |
llvm-svn: 132250
|
| |
|
|
|
|
|
|
| |
to load/store i64 values. Since there's no current support to explicitly
declare such restrictions, implement it by using specific hardcoded register
pairs during isel.
llvm-svn: 132248
|
| |
|
|
|
|
|
| |
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!
llvm-svn: 132234
|
| |
|
|
| |
llvm-svn: 132222
|
| |
|
|
|
|
| |
this. XFAIL'd, because the COFF AsmParser can't handle .section yet.
llvm-svn: 132220
|
| |
|
|
|
|
| |
code in one place. Re-apply 131534 and fix the multi-step promotion of integers.
llvm-svn: 132217
|
| |
|
|
|
|
|
|
|
|
| |
suffix (e.g. .xdata$myfunc). The suffix part isn't implemented yet, but
I'll get to it in the next patch.
Fix up all callers of the affected functions. Make them pass said suffix to
the function.
llvm-svn: 132205
|
| |
|
|
|
|
|
| |
Use them to calculate the offset inside the prolog. Emit this value when
emitting the unwind codes.
llvm-svn: 132177
|
| |
|
|
|
|
|
| |
crc32.[8|16|32] have been renamed to .crc32.32.[8|16|32] and
crc64.[8|16|32] have been renamed to .crc32.64.[8|64].
llvm-svn: 132163
|
| |
|
|
| |
llvm-svn: 132162
|
| |
|
|
|
|
| |
to match Microsoft's definitions.
llvm-svn: 132112
|
| |
|
|
|
|
|
|
|
|
|
| |
Rework how the MCWin64EHUnwindInfo instances are stored. Fix issues with
chained unwind areas exposed by the test that were related to this.
The ChainedParent field had the wrong address, because when the chained unwind
info was added, the addresses shifted around. Now we store the pointers to the
structures, which are now allocated from the MC heap.
llvm-svn: 132106
|
| |
|
|
|
|
|
|
|
|
| |
them.
I had to add a special SwitchSectionNoChange method to MCStreamer just for
.seh_handlerdata. If this isn't OK, please let me know, and I'll find some
other way to fix .seh_handlerdata streaming.
llvm-svn: 132084
|
| |
|
|
|
|
|
|
| |
I kept the reference to the ABI since that is the common case. The
-fno-asynchronous-unwind-tables option is a user controlled way of breaking
the ABI.
llvm-svn: 132053
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sure both definitions are identical. This used to produce warnings like
In file included from .../llvm/trunk/tools/lto/LTOCodeGenerator.cpp:45:
In file included from .../llvm/trunk/include/llvm/Support/system_error.h:225:
.../include/llvm/Config/config.h:591:9: warning: 'LLVM_PATH_XDOT_PY' macro redefined
#define LLVM_PATH_XDOT_PY ".../bin/xdot.py"
^
.../include/llvm/Config/llvm-config.h:98:9: note: previous definition is here
#define LLVM_PATH_XDOT_PY ""
^
1 warning generated.
(Paths edited for clarity)
Note: This only affected people who had xdot.py installed.
llvm-svn: 132050
|