- Nov 18, 2010
-
-
Chris Lattner authored
there is no need to check to see if the source and dest of a memcpy are noalias, behavior is undefined if not. llvm-svn: 119691
-
Chris Lattner authored
llvm-svn: 119690
-
Chris Lattner authored
out of processMemCpy into its own function. llvm-svn: 119687
-
Chris Lattner authored
if it is passed as a byval argument. The byval argument will just be a read, so it is safe to read from the original global instead. This allows us to promote away the %agg.tmp alloca in PR8582 llvm-svn: 119686
-
Chris Lattner authored
to ignore calls that obviously can't modify the alloca because they are readonly/readnone. llvm-svn: 119683
-
Chris Lattner authored
optimization. If the alloca that is "memcpy'd from constant" also has a memcpy from *it*, ignore it: it is a load. We now optimize the testcase to: define void @test2() { %B = alloca %T %a = bitcast %T* @G to i8* %b = bitcast %T* %B to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* %b, i8* %a, i64 124, i32 4, i1 false) call void @bar(i8* %b) ret void } previously we would generate: define void @test() { %B = alloca %T %b = bitcast %T* %B to i8* %G.0 = getelementptr inbounds %T* @G, i32 0, i32 0 %tmp3 = load i8* %G.0, align 4 %G.1 = getelementptr inbounds %T* @G, i32 0, i32 1 %G.15 = bitcast [123 x i8]* %G.1 to i8* %1 = bitcast [123 x i8]* %G.1 to i984* %srcval = load i984* %1, align 1 %B.0 = getelementptr inbounds %T* %B, i32 0, i32 0 store i8 %tmp3, i8* %B.0, align 4 %B.1 = getelementptr inbounds %T* %B, i32 0, i32 1 %B.12 = bitcast [123 x i8]* %B.1 to i8* %2 = bitcast [123 x i8]* %B.1 to i984* store i984 %srcval, i984* %2, align 1 call void @bar(i8* %b) ret void } llvm-svn: 119682
-
Chris Lattner authored
llvm-svn: 119681
-
Chris Lattner authored
sahf movl 344(%rdi),%r14d we used to produce: t.s:2:1: error: unexpected token in argument list ^ we now produce: t.s:1:11: error: unexpected token in argument list sahf movl 344(%rdi),%r14d ^ rdar://8581401 llvm-svn: 119676
-
Chris Lattner authored
The attached patch fixes IRBuilder and the NoFolder class so that when NoFolder is used the instructions it generates are treated just like the ones IRBuilder creates directly (insert into block, assign them a name and debug info, as applicable). It does this by 1) having NoFolder return Instruction*s instead of Value*s, 2) having IRBuilder call Insert(Value, Name) on values obtained from the folder like it does on instructions it creates directly, and 3) adding an Insert(Constant*, const Twine& = "") overload which just returns the constant so that the other folders shouldn't have any extra overhead as long as inlining is enabled. While I was there, I also added some missing (CreateFNeg and various Create*Cast) methods to NoFolder. llvm-svn: 119614
-
Rafael Espindola authored
and testing is easier. A good example is the unknown-location.ll test that now can just look for ".loc 1 0 0". We also don't use a DW_LNE_set_address for every address change anymore. llvm-svn: 119613
-
Evan Cheng authored
llvm-svn: 119610
-
Jim Grosbach authored
llvm-svn: 119608
-
Jim Grosbach authored
the operand to the pattern. llvm-svn: 119607
-
Jim Grosbach authored
llvm-svn: 119606
-
Dale Johannesen authored
memset; we may need it to decide between MOVAPS and MOVUPS later. Adjust a test that was looking for wrong code. PR 3866 / 8675131. llvm-svn: 119605
-
Evan Cheng authored
llvm-svn: 119604
-
Jim Grosbach authored
llvm-svn: 119603
-
Jim Grosbach authored
just pretend to be. llvm-svn: 119602
-
Owen Anderson authored
llvm-svn: 119601
-
Francois Pichet authored
This is because of bug 331418 on Microsoft Connect. llvm-svn: 119600
-
John Thompson authored
llvm-svn: 119599
-
Jim Grosbach authored
common encoding information. llvm-svn: 119598
-
Owen Anderson authored
llvm-svn: 119597
-
Dan Gohman authored
queries, and SCEVExpander getRelevantLoop queries. llvm-svn: 119595
-
Owen Anderson authored
llvm-svn: 119593
-
Oscar Fuentes authored
llvm-svn: 119592
-
John Thompson authored
llvm-svn: 119590
-
Wesley Peck authored
llvm-svn: 119589
-
Jim Grosbach authored
it as such. Add some encoding information. llvm-svn: 119588
-
Dan Gohman authored
Some of these maps may merge in the future, but for now it's convenient to have a utility function for them. llvm-svn: 119587
-
Dan Gohman authored
memoize the results. This improves compile time in code which highly complex expressions which get queried many times. llvm-svn: 119584
-
- Nov 17, 2010
-
-
Wesley Peck authored
Now that the MBlaze backend is in its own directory, split the test cases into multiple files for different types of instructions. llvm-svn: 119580
-
Dan Gohman authored
to ScalarEvolution. Delete SCEV::~SCEV. SCEV is no longer virtual. llvm-svn: 119578
-
Owen Anderson authored
llvm-svn: 119575
-
Jim Grosbach authored
llvm-svn: 119573
-
Dale Johannesen authored
appear to differ on Linux. Try to make them pass on Linux. Would be good for a Linux person to review this. llvm-svn: 119572
-
Dan Gohman authored
llvm-svn: 119570
-
Bob Wilson authored
This completes the fixes for Radar 8673120. llvm-svn: 119566
-
Bob Wilson authored
It is generally not sufficient to check if the starting offset is in range of the maximum offset that can be efficiently used for the target. llvm-svn: 119565
-
Bob Wilson authored
This makes it more clear that the symbol is an internal, compiler-generated name and gives a little more description about its contents. llvm-svn: 119564
-