- Jul 26, 2012
-
-
Craig Topper authored
llvm-svn: 160775
-
Akira Hatanaka authored
Patch by Reed Kotler. llvm-svn: 160774
-
Sylvestre Ledru authored
llvm-svn: 160762
-
- Jul 25, 2012
-
-
Jakob Stoklund Olesen authored
This simplifies MCRegisterInfo and shrinks the target descriptions a bit more. llvm-svn: 160758
-
Nick Lewycky authored
encounter an invoke of an allocation function. This should fix the dragonegg bootstrap. Testcase to follow, later. llvm-svn: 160757
-
Manman Ren authored
TwoAddressInstructionPass. The generated code for Atom has a different code sequence. This is realted to commit r160749. llvm-svn: 160755
-
Chad Rosier authored
Beckham <verena@codeplay.com>. Reviewed by Jim Grosbach. llvm-svn: 160753
-
Nuno Lopes authored
original commit msg: MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings llvm-svn: 160751
-
Manman Ren authored
It is redundant; RegisterCoalescer will do the remat if it can't eliminate the copy. Collected instruction counts before and after this. A few extra instructions are generated due to spilling but it is normal to see these kinds of changes with almost any small codegen change, according to Jakob. This also fixed rdar://11830760 where xor is expected instead of movi0. llvm-svn: 160749
-
David Blaikie authored
Report/patch inspiration by Olaf Krzikalla. llvm-svn: 160744
-
Nuno Lopes authored
llvm-svn: 160742
-
Nuno Lopes authored
llvm-svn: 160741
-
Jakob Stoklund Olesen authored
When a live range splits into multiple connected components, we would arbitrarily assign <undef> uses to component 0. This is wrong when the use is tied to a def that gets assigned to a different component: %vreg69<def> = ADD8ri %vreg68<undef>, 1 The use and def must get the same virtual register. Fix this by assigning <undef> uses to the same component as the value defined by the instruction, if any: %vreg69<def> = ADD8ri %vreg69<undef>, 1 This fixes PR13402. The PR has a test case which I am not including because it is unlikely to keep exposing this behavior in the future. llvm-svn: 160739
-
Jim Grosbach authored
Before accessing a node as a ConstandSDNode, make sure it actually is one. No testcase of non-trivial size. rdar://11948669 llvm-svn: 160735
-
Jakob Stoklund Olesen authored
Include <undef> operands and virtual registers after leaving SSA form. llvm-svn: 160734
-
Nuno Lopes authored
make all Emit*() functions consult the TargetLibraryInfo information before creating a call to a library function. Update all clients to pass the TLI information around. Previous draft reviewed by Eli. llvm-svn: 160733
-
Rafael Espindola authored
llvm-svn: 160731
-
Axel Naumann authored
80 char lines. llvm-svn: 160726
-
Rafael Espindola authored
to pop. llvm-svn: 160725
-
Rafael Espindola authored
change. llvm-svn: 160724
-
Duncan Sands authored
behaviour that might be exploited one day. llvm-svn: 160714
-
Duncan Sands authored
of an array element (rather than at the beginning of the element) and extended into the next element, then the load from the second element was being handled wrong due to incorrect updating of the notion of which byte to load next. This fixes PR13442. Thanks to Chris Smowton for reporting the problem, analyzing it and providing a fix. llvm-svn: 160711
-
Akira Hatanaka authored
The long branch pass (fixed in r160601) no longer uses the global base register to compute addresses of branch destinations, so it is not necessary to reserve a slot on the stack. llvm-svn: 160703
-
Rafael Espindola authored
llvm-svn: 160701
-
- Jul 24, 2012
-
-
Rafael Espindola authored
llvm-svn: 160698
-
Rafael Espindola authored
struct s { double x1; float x2; }; __attribute__((regparm(3))) struct s f(int a, int b, int c); void g(void) { f(41, 42, 43); } We need to be able to represent passing the address of s to f (sret) in a register (inreg). Turns out that all that is needed is to not mark them as mutually incompatible. llvm-svn: 160695
-
Kevin Enderby authored
if Condition Is Met instuctions that was not correctly determining the target instruction. So for a jne rel32 instruction: % cat x.s .byte 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00 % as x.s it was incorrectly deterining the target: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xd and with the fix it gets this correct as: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xf rdar://11505997 llvm-svn: 160694
-
Nick Lewycky authored
Darwin bootstrap. Testcase exists but isn't fully reduced, I expect to commit the testcase this evening. llvm-svn: 160693
-
Michael J. Spencer authored
llvm-svn: 160692
-
Nuno Lopes authored
fputc, memchr, memcmp, putchar, puts, strchr, strncmp llvm-svn: 160690
-
David Chisnall authored
are targeting an ELF platform. Only fold gs-relative (and fs-relative) loads if it is actually sensible to do so for the target platform. This fixes PR13438. llvm-svn: 160687
-
Anshuman Dasgupta authored
Patch by Sid Manning! llvm-svn: 160685
-
Nuno Lopes authored
llvm-svn: 160678
-
Nuno Lopes authored
llvm-svn: 160676
-
Nadav Rotem authored
llvm-svn: 160668
-
Nick Lewycky authored
might be deliberate "one time" leaks, so that leak checkers can find them. This is a reapply of r160602 with the fix that this time I'm committing the code I thought I was committing last time; the I->eraseFromParent() goes *after* the break out of the loop. llvm-svn: 160664
-
Craig Topper authored
Change llvm_unreachable in SplitVectorOperand to report_fatal_error. Keeps release builds from crashing if code uses an intrinsic with an illegal type. llvm-svn: 160661
-
Akira Hatanaka authored
ExecutionEngine/test-fp.ll. Patch by Petar Jovanovic. llvm-svn: 160653
-
Akira Hatanaka authored
Hello world will compile and execute with this patch. Patch by Reed Kotler. llvm-svn: 160651
-
- Jul 23, 2012
-
-
Eric Christopher authored
redirection in the system call. Patch by Andy Gibbs. llvm-svn: 160644
-