| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This doesn't seem ideal, perhaps we could just keep the llvm_site_cfg and have
other config (clang and clang-tools-extra) derive their site_cfg from that.
Suggestions/complaints/ideas welcome.
llvm-svn: 163171
|
| |
|
|
|
|
| |
LLDB_DISABLE_PYTHON builds
llvm-svn: 163170
|
| |
|
|
|
|
| |
Doesn't set MadeChange to TRUE if BypassSlowDivision doesn't change anything.
llvm-svn: 163165
|
| |
|
|
|
|
|
|
|
|
| |
Also a few minor changes:
- use pre-inc instead of post-inc
- use isa instead of dyn_cast
- 80 col
- trailing spaces
llvm-svn: 163164
|
| |
|
|
|
|
| |
where we wouldn't acquire the process run lock.
llvm-svn: 163163
|
| |
|
|
| |
llvm-svn: 163162
|
| |
|
|
| |
llvm-svn: 163161
|
| |
|
|
| |
llvm-svn: 163160
|
| |
|
|
|
|
|
|
|
|
| |
SimpleSValBuilder processes a couple trivial identities, including 'x - x'
and 'x ^ x' (both 0). However, the former could appear with arguments of
floating-point type, and we weren't checking for that. This started
triggering an assert with r163069, which checks that a constant value is
actually going to be used as an integer or pointer.
llvm-svn: 163159
|
| |
|
|
|
|
| |
CFString summary errors
llvm-svn: 163157
|
| |
|
|
| |
llvm-svn: 163156
|
| |
|
|
|
|
| |
the Objective-C language runtime plugin expose class descriptors objects akin to the objc_runtime.py Pythonic implementation. Rewrite the data formatters for some core Cocoa classes in C++ instead of Python.
llvm-svn: 163155
|
| |
|
|
| |
llvm-svn: 163154
|
| |
|
|
|
|
|
|
|
|
| |
The MachineOperand::TiedTo field was maintained, but not used.
This patch enables it in isRegTiedToDefOperand() and
isRegTiedToUseOperand() which are the actual functions use by the
register allocator.
llvm-svn: 163153
|
| |
|
|
| |
llvm-svn: 163152
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After much agonizing, use a full 4 bits of precious MachineOperand space
to encode this. This uses existing padding, and doesn't grow
MachineOperand beyond its current 32 bytes.
This allows tied defs among the first 15 operands on a normal
instruction, just like the current MCInstrDesc constraint encoding.
Inline assembly needs to be able to tie more than the first 15 operands,
and gets special treatment.
Tied uses can appear beyond 15 operands, as long as they are tied to a
def that's in range.
llvm-svn: 163151
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- CodeGenPrepare pass for identifying div/rem ops
- Backend specifies the type mapping using addBypassSlowDivType
- Enabled only for Intel Atom with O2 32-bit -> 8-bit
- Replace IDIV with instructions which test its value and use DIVB if the value
is positive and less than 256.
- In the case when the quotient and remainder of a divide are used a DIV
and a REM instruction will be present in the IR. In the non-Atom case
they are both lowered to IDIVs and CSE removes the redundant IDIV instruction,
using the quotient and remainder from the first IDIV. However,
due to this optimization CSE is not able to eliminate redundant
IDIV instructions because they are located in different basic blocks.
This is overcome by calculating both the quotient (DIV) and remainder (REM)
in each basic block that is inserted by the optimization and reusing the result
values when a subsequent DIV or REM instruction uses the same operands.
- Test cases check for the presents of the optimization when calculating
either the quotient, remainder, or both.
Patch by Tyler Nowicki!
llvm-svn: 163150
|
| |
|
|
| |
llvm-svn: 163149
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rationale: For each preprocessor macro, either the definedness is what's
meaningful, or the value is what's meaningful, or both. If definedness is
meaningful, we should use #ifdef. If the value is meaningful, we should use
and #ifdef interchangeably for the same macro, seems ugly to me, even if
undefined macros are zero if used.
This also has the benefit that including an LLVM header doesn't prevent
you from compiling with -Wundef -Werror.
Patch by John Garvin!
<rdar://problem/12189979>
llvm-svn: 163148
|
| |
|
|
| |
llvm-svn: 163147
|
| |
|
|
| |
llvm-svn: 163146
|
| |
|
|
| |
llvm-svn: 163145
|
| |
|
|
|
|
|
| |
assume that if the 1st operands is an expression and the instruction mayStore,
then it is a memory definition.
llvm-svn: 163144
|
| |
|
|
| |
llvm-svn: 163143
|
| |
|
|
| |
llvm-svn: 163142
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hand coded option. I made a few modifications:
Changed the '-A' option to also have a long option of '--arch'. This is now specified multiple times to get multiple architectures.
Old: -A i386^x86_64
New: -A i386 -A x86_64
--arch i386 --arch x86_64
Changed the '-C' option to also have a long option of '--compiler'. This is now specified multiple times to get multiple compiler.
Old: -C clang^gcc
New: -C clang -C gcc
--compiler clang --compiler gcc
llvm-svn: 163141
|
| |
|
|
| |
llvm-svn: 163140
|
| |
|
|
|
|
| |
fixes committed with revision 162860.
llvm-svn: 163139
|
| |
|
|
|
|
| |
enable build of llvm-symbolizer binary (currently for one target only)
llvm-svn: 163138
|
| |
|
|
|
|
|
| |
Change current Hexagon MI scheduler to use new converging
scheduler. Integrates DFA resource model into it.
llvm-svn: 163137
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch corrects the definition of umlal/smlal instructions and adds support
for matching them to the ARM dag combiner.
Bug 12213
Patch by Yin Ma!
llvm-svn: 163136
|
| |
|
|
|
|
|
| |
superclasses on top of finding the exact class. The current attempt is still
too slow, but it lays the groundwork.
llvm-svn: 163135
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of 4.
Since this specific shuffle is widely used in many workloads we have ~10% performance on them.
shufflevector <8 x float> %A, <8 x float> %B, <8 x i32> <i32 0, i32 8, i32 2, i32 10, i32 4, i32 12, i32 6, i32 14>
vmovaps (%rdx), %ymm0
vshufps $8, %ymm0, %ymm0, %ymm0
vmovaps (%rcx), %ymm1
vshufps $8, %ymm0, %ymm1, %ymm1
vunpcklps %ymm0, %ymm1, %ymm0
vmovaps (%rcx), %ymm0
vmovsldup (%rdx), %ymm1
vblendps $85, %ymm0, %ymm1, %ymm0
llvm-svn: 163134
|
| |
|
|
|
|
| |
style, and support fetching inlining info
llvm-svn: 163133
|
| |
|
|
|
|
|
|
|
|
| |
Scan the body of the loop and find instructions that may trap.
Use this information when deciding if it is safe to hoist or sink instructions.
Notice that we can optimize the search of instructions that may throw in the case of nested loops.
rdar://11518836
llvm-svn: 163132
|
| |
|
|
| |
llvm-svn: 163131
|
| |
|
|
|
|
|
|
|
|
| |
The IndVarSimplify pass in Polly uses the intrinsics header. We need to ensure
that the header is generated, before we use it. This patch fixes the problem
for the cmake build (it did not show up in the autoconf one).
Contributed by: Sameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>
llvm-svn: 163130
|
| |
|
|
|
|
|
|
|
|
|
| |
by instruction address from DWARF.
Add --inlining flag to llvm-dwarfdump to demonstrate and test this functionality,
so that "llvm-dwarfdump --inlining --address=0x..." now works much like
"addr2line -i 0x...", provided that the binary has debug info
(Clang's -gline-tables-only *is* enough).
llvm-svn: 163128
|
| |
|
|
|
|
|
|
|
|
| |
If an allocation has a must-alias relation to the access pointer, we treat it
as a Def. Otherwise, without this check, the code here was just skipping over
the allocation call and ignoring it. I noticed this by inspection and don't
have a specific testcase that it breaks, but it seems like we need to treat
a may-alias allocation as a Clobber.
llvm-svn: 163127
|
| |
|
|
| |
llvm-svn: 163126
|
| |
|
|
| |
llvm-svn: 163125
|
| |
|
|
|
|
|
| |
the NumMCOperands argument to the GetMCInstOperandNum() function that is set
to the number of MCOperands this asm operand mapped to.
llvm-svn: 163124
|
| |
|
|
| |
llvm-svn: 163123
|
| |
|
|
|
|
| |
MCTargetAsmParser class.
llvm-svn: 163122
|
| |
|
|
|
|
|
|
|
|
|
| |
By calling cindex.Config.set_library_path(path) or
cindex.Config.set_library_file(file) it is possible to specify from where
we load libclang. This fixes an open FIXME.
We also point the user to these functions, in case libclang can not be
loaded sucessfully.
llvm-svn: 163121
|
| |
|
|
| |
llvm-svn: 163120
|
| |
|
|
| |
llvm-svn: 163119
|
| |
|
|
| |
llvm-svn: 163118
|
| |
|
|
| |
llvm-svn: 163117
|
| |
|
|
| |
llvm-svn: 163116
|