| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Most clients have already been moved from Path V1 to V2. The ones using V1
now include PathV1.h explicitly.
llvm-svn: 183801
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a region header is part of a loop, then all entering edges of this region
should not come from the loop but outside the region. Otherwise, the loop may be
only partially part of the region, which would cause troubles in handling
induction variables.
Currently, we can only model induction variables that are either fully part of
the scop (loop induction variable) or induction variables that are scop-
invariant (parameter). A loop that is only partially part of the
scop causes troubles, as there is no good way to handle the induction
variable in the independent blocks pass.
Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 183800
|
| |
|
|
| |
llvm-svn: 183799
|
| |
|
|
|
|
|
| |
to discard regions with invalid loops before going through the contents of the
basic blocks
llvm-svn: 183798
|
| |
|
|
|
|
|
| |
to discard regions with invalid CFG before going through the contents of the
basic blocks
llvm-svn: 183797
|
| |
|
|
|
|
| |
I am about to move PathV2.h to Path.h.
llvm-svn: 183796
|
| |
|
|
|
|
| |
I am about to move PathV2.h to Path.h.
llvm-svn: 183795
|
| |
|
|
|
|
|
|
|
|
|
| |
Sign- and zero-extension folding was slightly incorrect because it wasn't checking that the shift on extensions was zero. Further, I recently added AND rd, rn, #255 as a form of 8-bit zero extension, and failed to add the folding code for it.
This patch fixes both issues.
This patch fixes both, and the test should remain the same:
test/CodeGen/ARM/fast-isel-fold.ll
llvm-svn: 183794
|
| |
|
|
|
|
|
| |
Providing a Python helper SBData.CreateDataFromInt() to make an SBData out of a single integer number
It tries to use the current target, if any, for endianness and pointer size, and it picks a reasonable size on your behalf - if there is no way it can infer anything reasonable it essentially picks a 64-bit Mac as the reference model
llvm-svn: 183793
|
| |
|
|
|
|
|
|
| |
debugging has a "ASTContext" that helps us to use the correct floating point semantics. Now that APFloat supports toString we now use that. If we don't have a target, we still fall back on the old display methodology, but the important formatting should always have a target available and thus use the compiler floating point code.
Modified the test programs to use floating point constants that always will display correctly. We had some numbers that were being rounded, and now that we are using clang, we no longer round them and we get more correct results.
llvm-svn: 183792
|
| |
|
|
|
|
|
|
|
|
| |
with a string. This case is sort of tricky because we can't modify the
StringLiteral used to represent such initializers.
We are forced to decompose the string into individual characters.
Fixes <rdar://problem/10465114>.
llvm-svn: 183791
|
| |
|
|
|
|
|
|
|
|
|
|
| |
For ARM on linux we use /proc/cpuinfo to detect the host CPU's features.
Linux derives these values without ever looking at the vendor of the
specific CPU implementation. Hence, it adds little value, if we parse
the output of /proc/cpuinfo only for certain vendors.
This patch enables us to derive the correct feature flags e.g. for Qualcomm
CPUs.
llvm-svn: 183790
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Change for http://llvm-reviews.chandlerc.com/D952
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D953
llvm-svn: 183789
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
COFF header is always present both in executable and in object file. PE header
is present only in executable. So the natural way to handle PE/COFF file is
treating COFF is mandatory header and PE is optional. Current data structre
does not allow it, because PE header includes COFF header. Removing COFF
header will simplify the code to handle PE/COFF files.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D952
llvm-svn: 183788
|
| |
|
|
| |
llvm-svn: 183787
|
| |
|
|
| |
llvm-svn: 183786
|
| |
|
|
| |
llvm-svn: 183785
|
| |
|
|
| |
llvm-svn: 183784
|
| |
|
|
| |
llvm-svn: 183783
|
| |
|
|
|
|
| |
This is preparation for replacing Path.h with PathV2.h.
llvm-svn: 183782
|
| |
|
|
|
|
| |
This is preparation for replacing Path.h with PathV2.h.
llvm-svn: 183781
|
| |
|
|
| |
llvm-svn: 183780
|
| |
|
|
| |
llvm-svn: 183779
|
| |
|
|
| |
llvm-svn: 183778
|
| |
|
|
| |
llvm-svn: 183777
|
| |
|
|
|
|
| |
Testcase to follow.
llvm-svn: 183776
|
| |
|
|
| |
llvm-svn: 183775
|
| |
|
|
| |
llvm-svn: 183774
|
| |
|
|
| |
llvm-svn: 183773
|
| |
|
|
|
|
|
| |
Allowing LLDB to resolve names of Python functions when they are located in classes
This allows things like *bound* classmethods to be used for formatters, commands, ...
llvm-svn: 183772
|
| |
|
|
| |
llvm-svn: 183771
|
| |
|
|
| |
llvm-svn: 183770
|
| |
|
|
| |
llvm-svn: 183769
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some compilers where failing with this file because the number of symbols was above 2**15.
- Replace std::list<> and std::vector<> with plain arrays.
- Change VariadicMatcherCreateCallback to be a function template, and a
single class that wraps the instantiations.
- Remove some more unnecessary template arguments and function calls.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D948
llvm-svn: 183768
|
| |
|
|
|
|
| |
No functionality changes.
llvm-svn: 183767
|
| |
|
|
|
|
| |
Allow memory read -t to take persistent types (those defined with expression struct $....)
llvm-svn: 183766
|
| |
|
|
| |
llvm-svn: 183765
|
| |
|
|
| |
llvm-svn: 183764
|
| |
|
|
| |
llvm-svn: 183763
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 183762
|
| |
|
|
| |
llvm-svn: 183761
|
| |
|
|
|
|
|
|
| |
binding for libclang.
Patch by Mathieu Baudet!
llvm-svn: 183760
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 183759
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 183758
|
| |
|
|
| |
llvm-svn: 183757
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of a custom implementation of replaceAllUsesWith, we just call
replaceAllUsesWith and recreate llvm.used and llvm.compiler-used.
This change is particularity interesting because it makes llvm see
through what clang is doing with static used functions in extern "C"
contexts. With this change, running clang -O2 in
extern "C" {
__attribute__((used)) static void foo() {}
}
produces
@llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to
i8*)], section "llvm.metadata"
define internal void @foo() #0 {
entry:
ret void
}
llvm-svn: 183756
|
| |
|
|
|
|
| |
the byte size will tell us how to display it.
llvm-svn: 183755
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 183754
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It will be tested in the next commit which moves another user to identify_magic.
Original message:
Fix an out of bounds array access.
We were looking at Magic[5] without checking Length. Since this path would not
return unless Length >= 18 anyway, just move the >= 18 check up.
llvm-svn: 183753
|
| |
|
|
| |
llvm-svn: 183752
|