- Feb 23, 2010
-
-
Jeffrey Yasskin authored
llvm-svn: 96981
-
Devang Patel authored
llvm-svn: 96975
-
Wesley Peck authored
The MicroBlaze is a highly configurable 32-bit soft-microprocessor for use on Xilinx FPGAs. For more information see: http://www.xilinx.com/tools/microblaze.htm http://en.wikipedia.org/wiki/MicroBlaze The current LLVM MicroBlaze backend generates assembly which can be compiled using the an appropriate binutils assembler. llvm-svn: 96969
-
Jeffrey Yasskin authored
the examples shared to make sure the shared library keeps working. llvm-svn: 96959
-
Dan Gohman authored
handle NaN properly. Do (X une Y) ? X : Y -> X if one of X and Y is not zero. llvm-svn: 96955
-
Dan Gohman authored
getelementptr. Despite only doing so in the case where x is a known array object and c can be converted to an index within range, this could still be invalid if c is actually the address of an object allocated outside of LLVM. Also, SCEVExpander, the original motivation for this code, has since been improved to avoid inttoptr+ptroint in more cases. llvm-svn: 96950
-
Richard Osborne authored
llvm-svn: 96942
-
Daniel Dunbar authored
llvm-svn: 96938
-
Daniel Dunbar authored
llvm-svn: 96936
-
Daniel Dunbar authored
llvm-svn: 96931
-
Mikhail Glushenkov authored
llvm-svn: 96921
-
Daniel Dunbar authored
llvm-svn: 96913
-
Daniel Dunbar authored
llvm-svn: 96908
-
Daniel Dunbar authored
llvm-svn: 96906
-
Dan Gohman authored
llvm-svn: 96851
-
Evan Cheng authored
llvm-svn: 96827
-
Chris Lattner authored
llvm-svn: 96826
-
Evan Cheng authored
Instcombine constant folding can normalize gep with negative index to index with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting. llvm-svn: 96825
-
Dan Gohman authored
llvm-svn: 96820
-
- Feb 22, 2010
-
-
Dan Gohman authored
operators. The test difference is just due to the multiplication operands being commuted (and thus requiring a more elaborate match). In optimized code, that expression would be folded. llvm-svn: 96816
-
Dan Gohman authored
llvm-svn: 96796
-
Arnold Schwaighofer authored
during a tail call. A parameter might overwrite this stack slot during the tail call. The sequence during a tail call is: 1.) load return address to temp reg 2.) move parameters (might involve storing to return address stack slot) 3.) store return address to new location from temp reg If the stack location is marked immutable CodeGen can colocate load (1) with the store (3). This fixes bug 6225. llvm-svn: 96783
-
Daniel Dunbar authored
still failing during (one) llvm-gcc powerpc build, and is also failing on my x86_64-apple-darwin10. llvm-svn: 96781
-
Dan Gohman authored
llvm-svn: 96777
-
Dan Gohman authored
SSE min and max instructions. The real thing this code needs to be concerned about is negative zero. Update the sse-minmax.ll test accordingly, and add tests for -enable-unsafe-fp-math mode as well. llvm-svn: 96775
-
Dan Gohman authored
induction variable value and a loop-variant value, don't force the insert position to be at the post-increment position, because it may not be dominated by the loop-variant value. This fixes a use-before-def problem noticed on PPC. llvm-svn: 96774
-
- Feb 21, 2010
-
-
Chris Lattner authored
llvm-svn: 96756
-
Chris Lattner authored
syntax. llvm-svn: 96748
-
Chris Lattner authored
llvm-svn: 96745
-
Anton Korobeynikov authored
This fixes PR6348 llvm-svn: 96734
-
Chris Lattner authored
llvm-svn: 96720
-
Chris Lattner authored
llvm-svn: 96717
-
- Feb 19, 2010
-
-
Dan Gohman authored
scaled reuse. llvm-svn: 96692
-
Charles Davis authored
Also, FileCheck'ize a test. llvm-svn: 96686
-
Dan Gohman authored
true or false as its exit condition. These are usually eliminated by SimplifyCFG, but the may be left around during a pass which wishes to preserve the CFG. llvm-svn: 96683
-
Duncan Sands authored
dragonegg self-host build. I reverted 96640 in order to revert 96556 (96640 goes on top of 96556), but it also looks like with both of them applied the breakage happens even earlier. The symptom of the 96556 miscompile is the following crash: llvm[3]: Compiling AlphaISelLowering.cpp for Release build cc1plus: /home/duncan/tmp/tmp/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4982: void llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDNode*, llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*): Assertion `(!From->hasAnyUseOfValue(i) || From->getValueType(i) == To->getValueType(i)) && "Cannot use this version of ReplaceAllUsesWith!"' failed. Stack dump: 0. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZN4llvm19AlphaTargetLowering14LowerOperationENS_7SDValueERNS_12SelectionDAGE' g++: Internal error: Aborted (program cc1plus) This occurs when building LLVM using LLVM built by LLVM (via dragonegg). Probably LLVM has miscompiled itself, though it may have miscompiled GCC and/or dragonegg itself: at this point of the self-host build, all of GCC, LLVM and dragonegg were built using LLVM. Unfortunately this kind of thing is extremely hard to debug, and while I did rummage around a bit I didn't find any smoking guns, aka obviously miscompiled code. Found by bisection. r96556 | evancheng | 2010-02-18 03:13:50 +0100 (Thu, 18 Feb 2010) | 5 lines Some dag combiner goodness: Transform br (xor (x, y)) -> br (x != y) Transform br (xor (xor (x,y), 1)) -> br (x == y) Also normalize (and (X, 1) == / != 1 -> (and (X, 1)) != / == 0 to match to "test on x86" and "tst on arm" r96640 | evancheng | 2010-02-19 01:34:39 +0100 (Fri, 19 Feb 2010) | 16 lines Transform (xor (setcc), (setcc)) == / != 1 to (xor (setcc), (setcc)) != / == 1. e.g. On x86_64 %0 = icmp eq i32 %x, 0 %1 = icmp eq i32 %y, 0 %2 = xor i1 %1, %0 br i1 %2, label %bb, label %return => testl %edi, %edi sete %al testl %esi, %esi sete %cl cmpb %al, %cl je LBB1_2 llvm-svn: 96672
-
Devang Patel authored
llvm-svn: 96657
-
Evan Cheng authored
(xor (setcc), (setcc)) != / == 1. e.g. On x86_64 %0 = icmp eq i32 %x, 0 %1 = icmp eq i32 %y, 0 %2 = xor i1 %1, %0 br i1 %2, label %bb, label %return => testl %edi, %edi sete %al testl %esi, %esi sete %cl cmpb %al, %cl je LBB1_2 llvm-svn: 96640
-
Dan Gohman authored
strides in foreign loops. This helps locate reuse opportunities with existing induction variables in foreign loops and reduces the need for inserting new ones. This fixes rdar://7657764. llvm-svn: 96629
-
- Feb 18, 2010
-
-
Mon P Wang authored
which is not always true if the mask contains undefs. Modified it to return the first non undef value. llvm-svn: 96621
-