| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Zero-width BFEs are combined away already, so there's no point in
handling them.
llvm-svn: 219868
|
| |
|
|
| |
llvm-svn: 219867
|
| |
|
|
|
|
|
| |
This CL introduces MachOObjectFile::getUuid(). This function returns an ArrayRef to the object file's UUID, or an empty ArrayRef if the object file doesn't contain an LC_UUID load command.
The new function is gonna be used by llvm-symbolizer.
llvm-svn: 219866
|
| |
|
|
|
|
|
| |
possibly use it uninitialized in a log message later.
clang static analyzer fixit.
llvm-svn: 219865
|
| |
|
|
| |
llvm-svn: 219864
|
| |
|
|
| |
llvm-svn: 219863
|
| |
|
|
| |
llvm-svn: 219862
|
| |
|
|
|
|
| |
disambiguation.
llvm-svn: 219861
|
| |
|
|
|
|
|
|
|
|
| |
let's rename it to append_list_if
Doing s/append_if/append_list_if/, no functional change.
http://reviews.llvm.org/D5739
llvm-svn: 219860
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CodeGen wouldn't mark the aliasee as thread_local if the aliasee was a
tentative definition.
Even if the definition was already emitted, it would never mark the
alias as thread_local.
This fixes PR21288.
llvm-svn: 219859
|
| |
|
|
|
|
|
|
| |
Soon we'll need to have access to blacklist before the CodeGen
phase (see http://reviews.llvm.org/D5687), so parse and construct
the blacklist earlier.
llvm-svn: 219857
|
| |
|
|
|
|
|
| |
coding conventions. Lots of whitespace et al changes but no
content changes.
llvm-svn: 219856
|
| |
|
|
|
|
|
| |
This is fragile, as there are classes with the same name in both
namespaces (e.g. llvm::Module and clang::Module).
llvm-svn: 219855
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cl::opts.
Summary:
This is based on the discussions from the LLVMDev thread:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-August/075886.html
Reviewers: chandlerc
Reviewed By: chandlerc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5389
llvm-svn: 219854
|
| |
|
|
| |
llvm-svn: 219853
|
| |
|
|
| |
llvm-svn: 219852
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When performing a type deduction from the return type, the FunctionDecl may be
attributed with a calling convention. In such a case, the retrieved type
location may be an AttributedTypeLoc. Performing a castAs<FunctionProtoTypeLoc>
on such a type loc would result in an assertion as they are not derived types.
Ensure that we correctly handle the attributed type location by looking through
it to the modified type loc.
Fixes an assertion triggered in C++14 mode.
llvm-svn: 219851
|
| |
|
|
|
|
| |
Remove the use of an unnecessary function. NFC.
llvm-svn: 219850
|
| |
|
|
| |
llvm-svn: 219849
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SelectDS1Addr1Offset complex pattern always tries to store constant
lds pointers in the offset operand and store a zero value in the addr operand.
Since the addr operand does not accept immediates, the zero value
needs to first be copied to a register.
This newly created zero value will not go through normal instruction
selection, so we need to manually insert a V_MOV_B32_e32 in the complex
pattern.
This bug was hidden by the fact that if there was another zero value
in the DAG that had not been selected yet, then the CSE done by the DAG
would use the unselected node for the addr operand rather than the one
that was just created. This would lead to the zero value being selected
and the DAG automatically inserting a V_MOV_B32_e32 instruction.
llvm-svn: 219848
|
| |
|
|
|
|
| |
runOnMachineFunction.
llvm-svn: 219847
|
| |
|
|
|
|
|
|
|
| |
This original fix for the build break was correct. LLVM_ATTRIBUTE_USED
removes the warning message because it keeps the function in the object
file. LLVM_ATTRIBUTE_UNUSED indicates that it may or may not be used
depending on build settings.
llvm-svn: 219846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store `User::NumOperands` (and `MDNode::NumOperands`) in `Value`.
On 64-bit host architectures, this reduces `sizeof(User)` and all
subclasses by 8, and has no effect on `sizeof(Value)` (or, incidentally,
on `sizeof(MDNode)`).
On 32-bit host architectures, this increases `sizeof(Value)` by 4.
However, it has no effect on `sizeof(User)` and `sizeof(MDNode)`, so the
only concrete subclasses of `Value` that actually see the increase are
`BasicBlock`, `Argument`, `InlineAsm`, and `MDString`. Moreover, I'll
be shocked and confused if this causes a tangible memory regression.
This has no functionality change (other than memory footprint).
llvm-svn: 219845
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A follow-up commit will modify the memory-layout of `Value`, `User`, and
`MDNode`. First fix the comments to be doxygen-friendly (and to follow
the coding standards).
- Use "\brief" instead of "repeatedName -".
- Add a brief intro where it was missing.
- Remove duplicated comments from source files (and a couple of
noisy/trivial comments altogether).
llvm-svn: 219844
|
| |
|
|
|
|
|
| |
The bots were complaining (possibly because of a lack of traits on the iterator
I was trying to use). No functional change.
llvm-svn: 219843
|
| |
|
|
|
|
|
|
| |
After http://reviews.llvm.org/D5687 is submitted, we will need
SanitizerBlacklist before the CodeGen phase, so make it a LangOpt
(as it will actually affect ABI / class layout).
llvm-svn: 219842
|
| |
|
|
|
|
| |
rdar://13416848
llvm-svn: 219841
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This change moves SanitizerBlacklist.h from lib/CodeGen
to public Clang headers in include/clang/Basic. SanitizerBlacklist
is currently only used in CodeGen to decide which functions/modules
should be instrumented, but this will soon change as ASan will
optionally modify class layouts during AST construction
(http://reviews.llvm.org/D5687). We need blacklist machinery
to be available at this point.
llvm-svn: 219840
|
| |
|
|
|
|
| |
PPC64/NetBSD.
llvm-svn: 219839
|
| |
|
|
|
|
| |
Use switch for FreeBSD check to allow easier extension.
llvm-svn: 219838
|
| |
|
|
| |
llvm-svn: 219837
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Not all situations are representable in the compressed __unwind_info format,
and when this happens the entry needs to point to the more general __eh_frame
description.
Just x86_64 implementation for now.
rdar://problem/18208653
llvm-svn: 219836
|
| |
|
|
| |
llvm-svn: 219835
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If x is known to have the range [a, b) in a loop predicated by (icmp
ne x, a), its range can be sharpened to [a + 1, b). Get
ScalarEvolution and hence IndVars to exploit this fact.
This change triggers an optimization to widen-loop-comp.ll, so it had
to be edited to get it to pass.
phabricator: http://reviews.llvm.org/D5639
llvm-svn: 219834
|
| |
|
|
|
|
| |
Fixes break when -Wunused-function is used.
llvm-svn: 219833
|
| |
|
|
|
|
|
|
|
| |
Truncate the operands of a switch instruction to a narrower type if the upper
bits are known to be all ones or zeros.
rdar://problem/17720004
llvm-svn: 219832
|
| |
|
|
|
|
|
|
|
|
|
| |
This is mostly a copy of the existing FastISel GEP code, but we have to
duplicate it for AArch64, because otherwise we would bail out even for simple
cases. This is because the standard fastEmit functions don't cover MUL at all
and ADD is lowered very inefficientily.
The original commit had a bug in the add emit logic, which has been fixed.
llvm-svn: 219831
|
| |
|
|
|
|
|
|
| |
function. NFC.
Simplify add with immediate emission by factoring it out into a helper function.
llvm-svn: 219830
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When processing assembly like
.long .text
we were creating a new undefined symbol .text. GAS on the other hand would
handle that as a reference to the .text section.
This patch implements that by creating the section symbols earlier so that
they are visible during asm parsing.
The patch also updates llvm-readobj to print the symbol number in the relocation
dump so that the test can differentiate between two sections with the same name.
llvm-svn: 219829
|
| |
|
|
|
|
| |
changes
llvm-svn: 219828
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whitespace update for lint check by myself (Will). Otherwise code and comments by Peter Bergner, as previously seen on llvm-commits.
The following patch gets ASAN somewhat working on powerpc64le-linux.
It currently assumes the LE kernel uses 46-bit addressing, which is
true, but it doesn't solve the case for BE where it may be 44 or
46 bits. That can be fixed with a follow on patch.
There are some test suite fails even with this patch that I haven't had
time to solve yet, but this is better than the state it is in now.
The limited debugging of those test suite fails seems to show that the
address map for 46-bit addressing has changed and so we'll need to
modify the shadow memory location slightly. Again, that can be fixed
with a follow on patch.
llvm-svn: 219827
|
| |
|
|
|
|
|
|
|
|
| |
This adds the MCInstPrinter to the LLVMHexagonDesc library and removes
the dependency LLVMHexagonAsmPrinter had on LLVMHexagonDesc. This is
a prerequisite needed by the disassembler.
Phabricator Revision: http://reviews.llvm.org/D5734
llvm-svn: 219826
|
| |
|
|
| |
llvm-svn: 219825
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We'll also need references back to the CIE eventually, but for now making sure
we can work out what an FDE is referring to is enough.
The actual kind of reference needs to be different between architectures,
probably because of MachO's chronic shortage of relocation types but I don't
really want to know in case I find out something that distresses me even more.
rdar://problem/18208653
llvm-svn: 219824
|
| |
|
|
| |
llvm-svn: 219823
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Changed files:
config-ix.cmake: Added mipsel to UBSAN_SUPPORTED_ARCH
Reviewers: rsmith, kcc, dsanders, petarj, samsonov
Reviewed By: samsonov
Subscribers: llvm-commits, mohit.bhakkad, farazs, kumarsukhani
Differential Revision: http://reviews.llvm.org/D5750
llvm-svn: 219822
|
| |
|
|
|
|
|
|
|
|
|
|
| |
when launching threads.
This defaults to zero, which means to use the system default.
NOTE: Windows will need to implement this.
<rdar://problem/18644448>
llvm-svn: 219821
|
| |
|
|
|
|
|
|
| |
return.
Forgot to add this in r219818.
llvm-svn: 219820
|
| |
|
|
|
|
| |
SimplifyDemandedBits would break the other uses of the operand.
llvm-svn: 219819
|
| |
|
|
|
|
|
|
| |
This silences:
../tools/clang/tools/libclang/CIndex.cpp:6451:3: warning: default label
in switch which covers all enumeration values [-Wcovered-switch-default]
llvm-svn: 219818
|