| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
| |
There are two evils we can choose from:
- Name overlap between isA-matcher and llvm::isa<>()
- Bad name for what the isA-matcher currently does
After some discussion we have agreed to go with the latter evil.
Review: http://llvm-reviews.chandlerc.com/D40
llvm-svn: 163740
|
| |
|
|
| |
llvm-svn: 163739
|
| |
|
|
|
|
|
| |
__autoreleasing is explicitely added to param type.
// rdar://12280826
llvm-svn: 163738
|
| |
|
|
| |
llvm-svn: 163737
|
| |
|
|
|
|
| |
already knows how to handle the case where DstRC was NULL, so it's not actually protecting us from anything, and this pattern can come up when using unknown_class operands in the SelectionDAG.
llvm-svn: 163736
|
| |
|
|
| |
llvm-svn: 163735
|
| |
|
|
|
|
| |
This should be done on the subprogram, not the variable itself.
llvm-svn: 163734
|
| |
|
|
|
|
| |
this should be done on the subprogram, not the variable.
llvm-svn: 163733
|
| |
|
|
| |
llvm-svn: 163731
|
| |
|
|
| |
llvm-svn: 163730
|
| |
|
|
| |
llvm-svn: 163729
|
| |
|
|
|
|
|
|
|
|
|
| |
MCOperands then iterate over all of then when computing clobbers, inputs and
outputs.
On x86 the 1-to-many mapping is a memory operand that includes a BaseReg(reg),
MemScale(imm), MemIndexReg(reg), an Expr(MCExpr or imm) and a MemSegReg(reg).
Invalid register (Op.getReg() == 0) are not considered when computing clobber.
llvm-svn: 163728
|
| |
|
|
| |
llvm-svn: 163726
|
| |
|
|
| |
llvm-svn: 163725
|
| |
|
|
|
|
| |
to the default target.
llvm-svn: 163724
|
| |
|
|
| |
llvm-svn: 163723
|
| |
|
|
| |
llvm-svn: 163722
|
| |
|
|
| |
llvm-svn: 163721
|
| |
|
|
|
|
|
| |
We plan on discussing this more, but we shouldn't have it in the compiler
in an incomplete state.
llvm-svn: 163720
|
| |
|
|
|
|
| |
We plan on discussing this more.
llvm-svn: 163719
|
| |
|
|
|
|
|
|
| |
Matches the same typo fix in clang's lit.cfg that this was copy/pasted from.
(original fix to clang's lit.cfg in r163696)
llvm-svn: 163718
|
| |
|
|
| |
llvm-svn: 163717
|
| |
|
|
|
|
| |
Fix a warning in macros instantiation.
llvm-svn: 163716
|
| |
|
|
|
|
| |
was fixed in r163713.
llvm-svn: 163715
|
| |
|
|
| |
llvm-svn: 163714
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nonvolatile condition register fields across calls under the SVR4 ABIs.
* With the 64-bit ABI, the save location is at a fixed offset of 8 from
the stack pointer. The frame pointer cannot be used to access this
portion of the stack frame since the distance from the frame pointer may
change with alloca calls.
* With the 32-bit ABI, the save location is just below the general
register save area, and is accessed via the frame pointer like the rest
of the save areas. This is an optional slot, so it must only be created
if any of CR2, CR3, and CR4 were modified.
* For both ABIs, save/restore logic is generated only if one of the
nonvolatile CR fields were modified.
I also took this opportunity to clean up an extra FIXME in
PPCFrameLowering.h. Save area offsets for 32-bit GPRs are meaningless
for the 64-bit ABI, so I removed them for correctness and efficiency.
Fixes PR13708 and partially also PR13623. It lets us enable exception handling
on PPC64.
Patch by William J. Schmidt!
llvm-svn: 163713
|
| |
|
|
|
|
| |
arguments.
llvm-svn: 163712
|
| |
|
|
| |
llvm-svn: 163710
|
| |
|
|
| |
llvm-svn: 163709
|
| |
|
|
|
|
| |
LP64. It fails with +Asserts for Win64.
llvm-svn: 163708
|
| |
|
|
|
|
| |
functions, use unsigned char instead of char.
llvm-svn: 163707
|
| |
|
|
| |
llvm-svn: 163706
|
| |
|
|
|
|
| |
active.
llvm-svn: 163705
|
| |
|
|
| |
llvm-svn: 163704
|
| |
|
|
|
|
|
|
|
|
|
|
| |
behaviour (converting NaN values between float and double).
SelectionDAG::getConstantFP(double Val, EVT VT, bool isTarget);
should not be used when Val is not a simple constant (as the comment in
SelectionDAG.h indicates). This patch avoids using this function
when folding an unknown constant through a bitcast, where it cannot be
guaranteed that Val will be a simple constant.
llvm-svn: 163703
|
| |
|
|
|
|
| |
lifetime regions. This is useful for debugging. No testcase because without this check we fail on assertions when finding escaped allocas.
llvm-svn: 163702
|
| |
|
|
| |
llvm-svn: 163701
|
| |
|
|
|
|
| |
to __SIZE_TYPE__.
llvm-svn: 163700
|
| |
|
|
|
|
|
|
| |
LLP64-incompatible tests.
I think some of them could be rewritten to fit also LLP64.
llvm-svn: 163699
|
| |
|
|
| |
llvm-svn: 163698
|
| |
|
|
|
|
| |
%t.h might be touched by scanners as a hot file on Windows, to fail to remove %.h with single run.
llvm-svn: 163697
|
| |
|
|
| |
llvm-svn: 163696
|
| |
|
|
|
|
|
|
| |
analyzePhysReg() from r163694 to heuristically try and determine the liveness state of a physical register upon arrival at a particular instruction in a block.
The search for liveness is clipped to a specific number of instructions around the target MachineInstr, in order to avoid degenerating into an O(N^2) algorithm. It tries to use various clues about how instructions around (both before and after) a given MachineInstr use that register, to determine its state at the MachineInstr.
llvm-svn: 163695
|
| |
|
|
|
|
|
|
| |
an instruction's use of a physical register, analogous to analyzeVirtReg.
Rename RegInfo to VirtRegInfo so as not to be confused with the new PhysRegInfo.
llvm-svn: 163694
|
| |
|
|
|
|
|
|
|
| |
was printing a newline that doesn't occur when printing other kinds
of LLVM values. Move the printing of that newline elsewhere, making
globals print the same as other values while leaving the output when
printing an entire module unchanged. Patch by Saša Tomić.
llvm-svn: 163693
|
| |
|
|
| |
llvm-svn: 163692
|
| |
|
|
| |
llvm-svn: 163691
|
| |
|
|
|
|
| |
This is required to overcome a crash in mstats() (http://code.google.com/p/address-sanitizer/issues/detail?id=109)
llvm-svn: 163690
|
| |
|
|
| |
llvm-svn: 163689
|
| |
|
|
|
|
| |
-Wno-variadic-macros flag.
llvm-svn: 163688
|