- Apr 07, 2010
-
-
John McCall authored
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off part of -Wsign-compare in C++ on accident. llvm-svn: 100581
-
Dale Johannesen authored
llvm-svn: 100578
-
Dale Johannesen authored
There is probably a more elegant way to do this. llvm-svn: 100573
-
Bob Wilson authored
Radar 7770501. llvm-svn: 100568
-
- Apr 06, 2010
-
-
Dale Johannesen authored
to a SDNode that didn't have code generated for it. llvm-svn: 100566
-
Stuart Hastings authored
llvm-svn: 100563
-
Jim Grosbach authored
When a frame pointer is not otherwise required, and dynamic stack alignment is necessary solely due to the spilling of a register with larger alignment requirements than the default stack alignment, the frame pointer can be both used as a general purpose register and a frame pointer. That goes poorly, for obvious reasons. This patch brings back a bit of old logic for identifying the use of such registers and conservatively reserves the frame pointer during register allocation in such cases. For now, implement for X86 only since it's 32-bit linux which is hitting this, and we want a targeted fix for 2.7. As a follow-on, this will be expanded to handle other targets, as theoretically the problem could arise elsewhere as well. llvm-svn: 100559
-
Jakob Stoklund Olesen authored
This fixes the Bullet regression on i386/nocona. llvm-svn: 100553
-
Gabor Greif authored
llvm-svn: 100550
-
Gabor Greif authored
llvm-svn: 100549
-
Gabor Greif authored
llvm-svn: 100547
-
Gabor Greif authored
llvm-svn: 100546
-
Gabor Greif authored
and remove assumptions about operand order llvm-svn: 100544
-
Chris Lattner authored
Add a simplified constructor for clients that don't have locations like "file not found" errors. llvm-svn: 100538
-
Evan Cheng authored
llvm-svn: 100532
-
Stuart Hastings authored
A certain GDB testsuite case (local.cc) has a function nested inside a class nested inside another function. GCC presents the innermost function to llvm-convert first. Heretofore, the debug info mistakenly placed the inner function at module scope. This patch walks the GCC context links and instantiates the outer class and function so the debug info is properly nested. Radar 7426545. llvm-svn: 100530
-
Mon P Wang authored
llvm-svn: 100521
-
Owen Anderson authored
use case where someone wants to resurrect LLVM after calling llvm_shutdown, but I'm not aware of any clients that are affected by this. llvm-svn: 100519
-
Dan Gohman authored
llvm-svn: 100515
-
Chris Lattner authored
llvm-svn: 100510
-
Chris Lattner authored
llvm-svn: 100509
-
Chris Lattner authored
llvm-svn: 100508
-
Chris Lattner authored
llvm-svn: 100506
-
Devang Patel authored
llvm-svn: 100505
-
Chris Lattner authored
llvm-svn: 100504
-
Chris Lattner authored
diagnostic handler. llvm-svn: 100503
-
Jakob Stoklund Olesen authored
Operand 2 on a load instruction does not have to be a RegisterSDNode for this to work. llvm-svn: 100497
-
Evan Cheng authored
llvm-svn: 100494
-
Chris Lattner authored
the stream. New demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax 000000000000000b movl %eax,(%rsp) 000000000000000e movl %eax,0x04(%rsp) 0000000000000012 addq $0x08,%rsp 0000000000000016 ret llvm-svn: 100492
-
Chris Lattner authored
demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o <inline asm>:1:2: error: unrecognized instruction abc incl %eax ^ LLVM ERROR: Error parsing inline asm Only problem seems to be that the parser finalizes OutStreamer at the end of the first inline asm, which isn't what we want. For example: $ cat asm.c int foo(int X) { __asm__ ("incl %0" : "+r" (X)); return X; } $ clang asm.c -S -o - -emit-llvm | llc ... subq $8, %rsp movl %edi, (%rsp) movl %edi, %eax ## InlineAsm Start incl %eax ## InlineAsm End movl %eax, (%rsp) movl %eax, 4(%rsp) addq $8, %rsp ret $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax $ don't stop at inc! llvm-svn: 100491
-
Bill Wendling authored
the FP encoding directly as a hex representation. llvm-svn: 100487
-
Chris Lattner authored
a co-committed clang patch. llvm-svn: 100485
-
Evan Cheng authored
llvm-svn: 100480
-
Chris Lattner authored
undefs in branches/switches, we have two cases: a branch on a literal undef or a branch on a symbolic value which is undef. If we have a literal undef, the code was correct: forcing it to a constant is the right thing to do. If we have a branch on a symbolic value that is undef, we should force the symbolic value to a constant, which then makes the successor block live. Forcing the condition of the branch to being a constant isn't safe if later paths become live and the value becomes overdefined. This is the case that 'forcedconstant' is designed to handle, so just use it. This fixes rdar://7765019 but there is no good testcase for this, the one I have is too insane to be useful in the future. llvm-svn: 100478
-
- Apr 05, 2010
-
-
Chris Lattner authored
llvm-svn: 100468
-
Evan Cheng authored
llvm-svn: 100467
-
Eric Christopher authored
llvm-svn: 100466
-
Jeffrey Yasskin authored
llvm-svn: 100461
-
Dan Gohman authored
llvm-svn: 100459
-
Chris Lattner authored
PR6779 llvm-svn: 100457
-