- Jan 22, 2014
-
-
Rafael Espindola authored
Fixes pr18508. llvm-svn: 199843
-
Tom Stellard authored
The CF stack can be corrupted if you use CF_ALU_PUSH_BEFORE, CF_ALU_ELSE_AFTER, CF_ALU_BREAK, or CF_ALU_CONTINUE when the number of sub-entries on the stack is greater than or equal to the stack entry size and sub-entries modulo 4 is either 0 or 3 (on cedar the bug is present when number of sub-entries module 8 is either 7 or 0) We choose to be conservative and always apply the work-around when the number of sub-enries is greater than or equal to the stack entry size, so that we can safely over-allocate the stack when we are unsure of the stack allocation rules. reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199842
-
Tom Stellard authored
reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199841
-
Tom Stellard authored
reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199840
-
Tom Stellard authored
reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199839
-
Tom Stellard authored
v2: - Initialize wavefront size to 0 reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199838
-
Tom Stellard authored
reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 199837
-
Matt Arsenault authored
llvm-svn: 199836
-
Alp Toker authored
llvm-svn: 199835
-
Aaron Ballman authored
If an attribute has a semantically meaningful spelling (such as ArgumentWithTypeTagAttr or MSInheritanceAttr), display the spelling used for the attribute as part of the AST dump. This should ease debugging the AST for these attributes. Attributes without semantically meaningful spelling variations are not affected. llvm-svn: 199834
-
Matt Arsenault authored
llvm-svn: 199833
-
Rafael Espindola authored
My understanding (from reading just the llvm code) is that * most ppc cpus have a "sync n" instruction and an msync alias that is "sync 0". * "book e" cpus instead have a msync instruction and not the more general "sync n" This patch reflects that in the .td files, allowing a single codepath for asm ond obj streamer and incidentelly fixes a crash when EmitRawText was called on a obj streamer. llvm-svn: 199832
-
Quentin Colombet authored
llvm-svn: 199831
-
Mark Seaborn authored
PNaCl and Emscripten can both handle va_arg IR instructions with struct type. Also add a test to cover generating a va_arg IR instruction from va_arg in C on le32 (as already handled by VisitVAArgExpr() in CGExprScalar.cpp), which was not covered by a test before. (This fixes https://code.google.com/p/nativeclient/issues/detail?id=2381) Differential Revision: http://llvm-reviews.chandlerc.com/D2539 llvm-svn: 199830
-
Richard Smith authored
the defaulting because it would delete the member, produce additional notes explaining why the member is implicitly deleted. llvm-svn: 199829
-
Hans Wennborg authored
llvm-svn: 199828
-
Tom Stellard authored
llvm-svn: 199827
-
Tom Stellard authored
llvm-svn: 199826
-
Tom Stellard authored
llvm-svn: 199825
-
Tom Stellard authored
This way private memory does not over-write work group information stored in GPRs 0 and 1. llvm-svn: 199824
-
Tom Stellard authored
llvm-svn: 199823
-
David Blaikie authored
(to go with existing suppression of -Wa,-compress-debug-sections) llvm-svn: 199822
-
Matt Arsenault authored
different number of elements. Bitcasts were passing with vectors of pointers with different number of elements since the number of elements was checking SrcTy->getVectorNumElements() == SrcTy->getVectorNumElements() which isn't helpful. The addrspacecast was also wrong, but that case at least is caught by the verifier. Refactor bitcast and addrspacecast handling in castIsValid to be more readable and fix this problem. llvm-svn: 199821
-
Fariborz Jahanian authored
not using backing ivar warning, ignore when property is not being synthesized (user declared its implementation @dynamic). // rdar://1583425 llvm-svn: 199820
-
Weiming Zhao authored
currently, for thumbv8, two predefined macros are missing: define __THUMB_INTERWORK__ 1 define __THUMB_INTERWORK__ 1 This patch adds them for thumbv8. llvm-svn: 199819
-
Greg Fitzgerald authored
This patch restores the ARM mode if the user's inline assembly does not. In the object streamer, it ensures that instructions following the inline assembly are encoded correctly and that correct mapping symbols are emitted. For the asm streamer, it emits a .arm or .thumb directive. This patch does not ensure that the inline assembly contains the ADR instruction to switch modes at runtime. The problem we need to solve is code like this: int foo(int a, int b) { int r = a + b; asm volatile( ".align 2 \n" ".arm \n" "add r0,r0,r0 \n" : : "r"(r)); return r+1; } If we compile this function in thumb mode then the inline assembly will switch to arm mode. We need to make sure that we switch back to thumb mode after emitting the inline assembly or we will incorrectly encode the instructions that follow (i.e. the assembly instructions for return r+1). Based on patch by David Peixotto Change-Id: Ib57f6d2d78a22afad5de8693fba6230ff56ba48b llvm-svn: 199818
-
Daniel Jasper authored
Before: std::unique_ptr<int[]> foo() {} After: std::unique_ptr<int []> foo() {} Also, the formatting could go severely wrong after such a function before. llvm-svn: 199817
-
Rafael Espindola authored
We still read/mmap them twice, but the fix for that is a bit more complex. llvm-svn: 199815
-
Benjamin Kramer authored
Found by -Wdocumentation. llvm-svn: 199814
-
Rafael Espindola authored
identify_magic is not free, so we should avoid calling it twice. The argument also makes it cheap for createBinary to just forward to createObjectFile. llvm-svn: 199813
-
David Woodhouse authored
llvm-svn: 199812
-
David Woodhouse authored
llvm-svn: 199811
-
David Woodhouse authored
llvm-svn: 199810
-
David Woodhouse authored
llvm-svn: 199809
-
David Woodhouse authored
llvm-svn: 199808
-
David Woodhouse authored
llvm-svn: 199807
-
David Woodhouse authored
llvm-svn: 199806
-
David Woodhouse authored
llvm-svn: 199805
-
David Woodhouse authored
llvm-svn: 199804
-
David Woodhouse authored
llvm-svn: 199803
-