| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 168318
|
| |
|
|
| |
llvm-svn: 168304
|
| |
|
|
|
|
|
|
|
| |
This patch moves the isInlineViable function from the InlineAlways pass into
the InlineCostAnalyzer and then changes the InlineCost computation to use that
simple check for always-inline functions. All the special-case checks for
AlwaysInline in the CallAnalyzer can then go away.
llvm-svn: 168300
|
| |
|
|
| |
llvm-svn: 168299
|
| |
|
|
| |
llvm-svn: 168294
|
| |
|
|
|
|
| |
removed in commit 168035, but I missed this bit).
llvm-svn: 168292
|
| |
|
|
|
|
|
|
|
|
| |
operands of the expression being written was wrongly thought to be reusable as
an inner node of the expression resulting in it turning up as both an inner node
*and* a leaf, creating a cycle in the def-use graph. This would have caused the
verifier to blow up if things had gotten that far, however it managed to provoke
an infinite loop first.
llvm-svn: 168291
|
| |
|
|
| |
llvm-svn: 168280
|
| |
|
|
|
|
|
|
| |
Instruction* corollary, which may be useful if a user
wishes to transform a ConstantExpr so that one of its operands is no longer constant.
llvm-svn: 168262
|
| |
|
|
|
|
| |
edge table memory.
llvm-svn: 168259
|
| |
|
|
|
|
|
|
| |
On PPC the stack pointer is X1, but ADJCALLSTACK writes R1.
Fixes PR14315: Register regmask dependency problem with misched.
llvm-svn: 168248
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a partial solution to PR14351. It removes some of the special
significance of the first incoming phi value in the phi aliasing checking logic
in BasicAA. In the context of a loop, the old logic assumes that the first
incoming value is the interesting one (meaning that it is the one that comes
from outside the loop), but this is often not the case. With this change, we
now test first the incoming value that comes from a block other than the parent
of the phi being tested.
llvm-svn: 168245
|
| |
|
|
|
|
| |
Couperus.
llvm-svn: 168240
|
| |
|
|
|
|
|
|
| |
example: *dst++ = *src++).
At the moment we still require to have an integer induction variable (for example: i++).
llvm-svn: 168231
|
| |
|
|
| |
llvm-svn: 168230
|
| |
|
|
|
|
| |
style requirement.
llvm-svn: 168229
|
| |
|
|
|
|
| |
is narrower than the stored value. rdar://12713675
llvm-svn: 168227
|
| |
|
|
| |
llvm-svn: 168223
|
| |
|
|
|
|
|
|
|
| |
This patch replaces the hard coded GPR pair [R0, R1] of
Intrinsic:arm_ldrexd and [R2, R3] of Intrinsic:arm_strexd with
even/odd GPRPair reg class.
Similar to the lowering of atomic_64 operation.
llvm-svn: 168207
|
| |
|
|
| |
llvm-svn: 168203
|
| |
|
|
|
|
| |
This fixes PR14359
llvm-svn: 168200
|
| |
|
|
|
|
| |
An alias to a function should use pc relative addressing.
llvm-svn: 168199
|
| |
|
|
|
|
| |
final assembly
llvm-svn: 168198
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before, the parser would assert on the following code:
@a2 = global i8 addrspace(1)* @a
@a = addrspace(1) global i8 0
because the type of @a was "i8*" instead of "i8 addrspace(1)*" when parsing
the initializer for @a2.
llvm-svn: 168197
|
| |
|
|
| |
llvm-svn: 168196
|
| |
|
|
| |
llvm-svn: 168191
|
| |
|
|
|
|
| |
but wasn't due to the same logic bug that caused PR14361.
llvm-svn: 168186
|
| |
|
|
|
|
| |
A PR is being filed to address some code issues here.
llvm-svn: 168185
|
| |
|
|
|
|
| |
visitLog* functions.
llvm-svn: 168183
|
| |
|
|
| |
llvm-svn: 168182
|
| |
|
|
|
|
|
|
|
| |
replaced by this patch is equivalent to the new logic, but you'd be wrong, and
that's exactly where the bug was. There's a similar bug in instsimplify which
manifests itself as instsimplify failing to simplify this, rather than doing it
wrong, see next commit.
llvm-svn: 168181
|
| |
|
|
|
|
| |
Patch by Pekka Jääskeläinen!
llvm-svn: 168176
|
| |
|
|
| |
llvm-svn: 168166
|
| |
|
|
|
|
|
|
|
| |
all symbols during object loading, not just global ones.
This fixes JIT execution of code using llvm.global_ctors with internal
linkage constructors.
llvm-svn: 168148
|
| |
|
|
|
|
|
|
|
|
|
| |
It turns out that the operands of a Constant are not always themselves
Constant. For example, one of the operands of BlockAddress is
BasicBlock, which is not a Constant.
This should fix the dragonegg-x86_64-linux-gcc-4.6-test build which
broke in r168037.
llvm-svn: 168147
|
| |
|
|
|
|
| |
is present: it is often the case that .debug_aranges section contains ranges only for a small subset of compile units. Test cases will be added in separate commits.
llvm-svn: 168144
|
| |
|
|
| |
llvm-svn: 168143
|
| |
|
|
|
|
|
|
| |
of the code that deals with divs.
Thanks to Paul Redmond for catching this while reviewing the code.
llvm-svn: 168142
|
| |
|
|
|
|
| |
vector types.
llvm-svn: 168141
|
| |
|
|
| |
llvm-svn: 168138
|
| |
|
|
|
|
| |
allowed in branch delay slot.
llvm-svn: 168131
|
| |
|
|
|
|
| |
permissions after an object has been loaded.
llvm-svn: 168114
|
| |
|
|
|
|
|
|
| |
case to vector legalization so this actually works.
Patch by Pete Couperus. Fixes PR12540.
llvm-svn: 168107
|
| |
|
|
| |
llvm-svn: 168103
|
| |
|
|
|
|
| |
support and use it in place of HasMips32r2Or64.
llvm-svn: 168089
|
| |
|
|
|
|
|
|
| |
This patch lowers the llvm.floor, llvm.ceil, llvm.trunc, and
llvm.nearbyint to Altivec instruction when using 4 single-precision
float vectors.
llvm-svn: 168086
|
| |
|
|
|
|
|
|
|
|
| |
- The code could infinite loop trying to create unique files, if the directory
containing the unique file exists, but open() calls on non-existent files in
the path return ENOENT. This is true on the /dev/fd filesystem, for example.
- Will add a clang side test case for this.
llvm-svn: 168081
|
| |
|
|
| |
llvm-svn: 168078
|
| |
|
|
| |
llvm-svn: 168076
|
| |
|
|
|
|
| |
to guarantee deterministic code generation.
llvm-svn: 168074
|