| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 65797
|
|
|
|
|
|
|
|
|
|
|
| |
need them to evaluate redeclarations or call a function that hasn't
already been declared. We now keep a DenseMap of these locally-scoped
declarations so that they are not visible but can be quickly found,
e.g., when we're looking for previous declarations or before we go
ahead and implicitly declare a function that's being called. Fixes
PR3672.
llvm-svn: 65792
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extracts + build_vector into a shuffle would fail, because the
type of the new build_vector would not be legal. Try harder to
create a legal build_vector type. Note: this will be totally
irrelevant once vector_shuffle no longer takes a build_vector for
shuffle mask.
New:
_foo:
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
subps %xmm1, %xmm1
mulps %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, 0
Old:
_foo:
xorps %xmm0, %xmm0
movss %xmm0, %xmm1
xorps %xmm2, %xmm2
unpcklps %xmm1, %xmm2
pshufd $80, %xmm1, %xmm1
unpcklps %xmm1, %xmm2
pslldq $16, %xmm2
pshufd $57, %xmm2, %xmm1
subps %xmm0, %xmm1
mulps %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, 0
llvm-svn: 65791
|
|
|
|
| |
llvm-svn: 65790
|
|
|
|
| |
llvm-svn: 65789
|
|
|
|
| |
llvm-svn: 65788
|
|
|
|
|
|
| |
anyways.
llvm-svn: 65787
|
|
|
|
| |
llvm-svn: 65786
|
|
|
|
|
|
| |
attribution.
llvm-svn: 65785
|
|
|
|
| |
llvm-svn: 65784
|
|
|
|
|
|
| |
options to gold.
llvm-svn: 65783
|
|
|
|
| |
llvm-svn: 65782
|
|
|
|
|
|
| |
Also removes some trailing whitespace.
llvm-svn: 65781
|
|
|
|
|
|
| |
Downgrade an error to a warning (for GCC compatibility).
llvm-svn: 65779
|
|
|
|
|
|
| |
be a win, since almost every interesting function has at least one Argument.
llvm-svn: 65778
|
|
|
|
| |
llvm-svn: 65777
|
|
|
|
|
|
|
|
|
|
|
|
| |
its sentinel. This is quite a win when a function really has a basic block.
When the function is just a declaration (and stays so) the old way did not
allocate a sentinel. So this change is most beneficial when the ratio of
function definition to declaration is high. I.e. linkers etc. Incidentally
these are the most resource demanding applications, so I expect that the
reduced malloc traffic, locality and space savings outweigh the cost of
addition of two pointers to Function.
llvm-svn: 65776
|
|
|
|
| |
llvm-svn: 65775
|
|
|
|
|
|
|
|
|
| |
'XCElementSpacer *', expected 'XCElement *' (not handling protocol signatures correctly?).
- Reworked ASTContext::canAssignObjCInterfaces().
- Added ObjCProtocolDecl::lookupProtocolNamed().
llvm-svn: 65773
|
|
|
|
| |
llvm-svn: 65772
|
|
|
|
| |
llvm-svn: 65771
|
|
|
|
| |
llvm-svn: 65769
|
|
|
|
| |
llvm-svn: 65768
|
|
|
|
| |
llvm-svn: 65767
|
|
|
|
| |
llvm-svn: 65766
|
|
|
|
| |
llvm-svn: 65765
|
|
|
|
| |
llvm-svn: 65764
|
|
|
|
| |
llvm-svn: 65763
|
|
|
|
| |
llvm-svn: 65762
|
|
|
|
|
|
|
| |
exception typeinfo metadata, and a few other EH related types/functions.
- No functionality change.
llvm-svn: 65761
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 65760
|
|
|
|
| |
llvm-svn: 65759
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
testsuite:
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/nancvt.ll
Failed with exit(1) at line 2
while running: grep 2147027116 nancvt.ll.tmp | count 3
count: expected 3 lines and got 0.
child process exited abnormally
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll
Failed with exit(1) at line 1
while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah | not /usr/bin/grep sub.*esp
subl $28, %esp
subl $28, %esp
child process exited abnormally
And more.
llvm-svn: 65758
|
|
|
|
| |
llvm-svn: 65757
|
|
|
|
| |
llvm-svn: 65756
|
|
|
|
|
|
| |
as well as isSafeAllocaToScalarRepl.
llvm-svn: 65755
|
|
|
|
| |
llvm-svn: 65754
|
|
|
|
| |
llvm-svn: 65753
|
|
|
|
|
|
|
|
|
|
|
| |
Look for situations like this:
%reg1024<def> = MOV r1
%reg1025<def> = MOV r0
%reg1026<def> = ADD %reg1024, %reg1025
r0 = MOV %reg1026
Commute the ADD to hopefully eliminate an otherwise unavoidable copy.
llvm-svn: 65752
|
|
|
|
| |
llvm-svn: 65751
|
|
|
|
|
|
|
|
| |
hopefully
the buildbot will work.
llvm-svn: 65750
|
|
|
|
| |
llvm-svn: 65749
|
|
|
|
|
|
| |
stuff like %A = type { %A*} instead of an upref.
llvm-svn: 65748
|
|
|
|
|
|
| |
method in a BuildVectorSDNode "pseudo-class".
llvm-svn: 65747
|
|
|
|
| |
llvm-svn: 65746
|
|
|
|
| |
llvm-svn: 65745
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sema::ImplMethodsVsClassMethods and Sema::ImplCategoryMethodsVsIntfMethods methods.
And now, when clang check a class implementation to find unimplemented methods, it also checks all methods from the class extensions (unnamed categories).
There is also a test case to check this warning.
This patch contains also a minor update for ObjCImplDecl . getNameAsCString and getNameAsString now returns an empty string instead of crashing for unnamed categories."
Patch by Jean-Daniel Dupas!
llvm-svn: 65744
|
|
|
|
|
|
| |
types. This was reading the uint for the keyword after the token was advanced.
llvm-svn: 65743
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
type opaque ; type %0
%C = type { %0, %0 }
instead of:
%C = type { opaque, opaque }
when appropriate.
llvm-svn: 65742
|
|
|
|
| |
llvm-svn: 65741
|