| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
i8 and i16 values.
llvm-svn: 132073
|
| |
|
|
| |
llvm-svn: 132070
|
| |
|
|
|
|
| |
return 0 if there are no function calls made.
llvm-svn: 132065
|
| |
|
|
| |
llvm-svn: 132063
|
| |
|
|
| |
llvm-svn: 132062
|
| |
|
|
|
|
|
| |
MSVC doesn't support 64 bit enum.
OpcodeMask is not used anywhere in the code base.
llvm-svn: 132057
|
| |
|
|
| |
llvm-svn: 132044
|
| |
|
|
| |
llvm-svn: 132043
|
| |
|
|
|
|
| |
fixes <rdar://problem/9495913>
llvm-svn: 132042
|
| |
|
|
|
|
|
|
|
| |
target register, matching BX. I filed this bug because I was confused at first:
PR10007 - ARM branch instructions have inconsistent predicate operand placement
<http://llvm.org/bugs/show_bug.cgi?id=10007>
llvm-svn: 132041
|
| |
|
|
| |
llvm-svn: 132040
|
| |
|
|
|
|
| |
reflect their actual meaning and match the ARM instructions.
llvm-svn: 132039
|
| |
|
|
|
|
|
| |
LTO friendly as we can now correctly merge files compiled with or without
-fasynchronous-unwind-tables.
llvm-svn: 132033
|
| |
|
|
| |
llvm-svn: 132030
|
| |
|
|
|
|
| |
Enable the parsing of the operand "cpsr_all" for the ARM msr instruction
llvm-svn: 132026
|
| |
|
|
|
|
| |
Part of rdar://9119939
llvm-svn: 132024
|
| |
|
|
|
|
| |
Part of rdar://9119939
llvm-svn: 132023
|
| |
|
|
|
|
|
|
| |
do.
Part of rdar://9119939.
llvm-svn: 132015
|
| |
|
|
|
|
| |
Fixes part of rdar://9444657
llvm-svn: 132011
|
| |
|
|
|
|
| |
offsets that are larger than 0x10000.
llvm-svn: 132003
|
| |
|
|
|
|
|
|
|
|
| |
deficiencies exist:
- Works only if ABI is o32.
- Zero-sized structures cannot be passed.
- There is a lot of redundancy in generated code.
llvm-svn: 131986
|
| |
|
|
| |
llvm-svn: 131974
|
| |
|
|
|
|
|
| |
scheme uses internally. Implement it for x86 (the only architecture that LLVM
supports for which this matters right now).
llvm-svn: 131969
|
| |
|
|
|
|
|
|
|
|
| |
non-zero.
- Teach X86 cmov optimization to eliminate the cmov from ctlz, cttz extension
when the source of X86ISD::BSR / X86ISD::BSF is proven to be non-zero.
rdar://9490949
llvm-svn: 131948
|
| |
|
|
|
|
|
|
| |
variable arguments in LowerCall and LowerFormalArguments. This should also fix
the bug in which handling of variable arguments is incorrect when the front-end
optimizes away unused fixed arguments.
llvm-svn: 131942
|
| |
|
|
| |
llvm-svn: 131928
|
| |
|
|
| |
llvm-svn: 131927
|
| |
|
|
| |
llvm-svn: 131922
|
| |
|
|
|
|
| |
in MipsFunctionInfo that are no longer used.
llvm-svn: 131917
|
| |
|
|
| |
llvm-svn: 131916
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following improvements are accomplished as a result of applying this patch:
- Fixed frame objects' offsets (relative to either the virtual frame pointer or
the stack pointer) are set before instruction selection is completed. There is
no need to wait until Prologue/Epilogue Insertion is run to set them.
- Calculation of final offsets of fixed frame objects is straightforward. It is
no longer necessary to assign negative offsets to fixed objects for incoming
arguments in order to distinguish them from the others.
- Since a fixed object has its relative offset set during instruction
selection, there is no need to conservatively set its alignment to 4.
- It is no longer necessary to reorder non-fixed frame objects in
MipsFrameLowering::adjustMipsStackFrame.
llvm-svn: 131915
|
| |
|
|
|
|
|
|
| |
branches
in Darwin Thumb2 code. Tail calls are already disabled on Thumb1.
llvm-svn: 131894
|
| |
|
|
| |
llvm-svn: 131874
|
| |
|
|
|
|
| |
accepts parameters (ptr, size, value) in a different order than GNU's memset (ptr, value, size), therefore the special lowering in AAPCS mode. Implementation by Evzen Muller.
llvm-svn: 131868
|
| |
|
|
| |
llvm-svn: 131863
|
| |
|
|
|
|
|
| |
Modified the patch to .td file supplied by Jyun-Yan You. Add a test case and
modified ARMDisassemblerCore.cpp a little bit.
llvm-svn: 131859
|
| |
|
|
| |
llvm-svn: 131841
|
| |
|
|
| |
llvm-svn: 131806
|
| |
|
|
|
|
| |
the patterns.
llvm-svn: 131801
|
| |
|
|
|
|
|
|
|
| |
code. It
is already in GR64 for the same reasons. Since it isn't allocatable it can't cause
any problems.
llvm-svn: 131787
|
| |
|
|
| |
llvm-svn: 131785
|
| |
|
|
| |
llvm-svn: 131784
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
preparation for reversing StackDirection.
Fixed objects are created in the following order:
1. Incoming arguments passed on stack.
2. va_arg objects (include both arguments that are passed in registers and
pointer to the location of the first va_arg argument).
3. $gp restore slot.
4. Outgoing arguments passed on stack.
5. Pointer to alloca'd space.
llvm-svn: 131767
|
| |
|
|
| |
llvm-svn: 131764
|
| |
|
|
|
|
| |
passed in register or on the stack.
llvm-svn: 131758
|
| |
|
|
| |
llvm-svn: 131752
|
| |
|
|
|
|
|
|
| |
(this is what used in Android NDK, when architecture is ARMv5)
patch by Koan-Sin Tan
llvm-svn: 131751
|
| |
|
|
|
|
|
|
| |
of tBL/tBLX to R_ARM_THM_CALL (ARM ELF 4.7.1.6)
Patch by koan-sin tan.
llvm-svn: 131748
|
| |
|
|
|
|
| |
rdar://problem/8614450
llvm-svn: 131746
|
| |
|
|
|
|
| |
saving and restoring them.
llvm-svn: 131745
|