- Dec 11, 2009
-
-
Devang Patel authored
llvm-svn: 91159
-
Dan Gohman authored
llvm-svn: 91158
-
Jim Grosbach authored
memory barrier instructions by definition have side effects. This prevents the post-RA scheduler from moving them around. llvm-svn: 91150
-
Dan Gohman authored
avoid spurious failures. This fixes PR5758. llvm-svn: 91147
-
Dan Gohman authored
aggregate return values. This fixes PR5754. llvm-svn: 91145
-
Anton Korobeynikov authored
This is used in some weird cases like general dynamic TLS model. This fixes PR5723 llvm-svn: 91144
-
Johnny Chen authored
llvm-svn: 91143
-
Jim Grosbach authored
llvm-svn: 91140
-
Bill Wendling authored
build bots. llvm-svn: 91113
-
Duncan Sands authored
has the 'nest' attribute. llvm-svn: 91109
-
Evan Cheng authored
llvm-svn: 91104
-
Evan Cheng authored
llvm-svn: 91103
-
Bill Wendling authored
- Loosen the restrictions when checking of it branches to a landing pad. - Make the loop more efficient by checking the '.insert' return value. - Do cheaper checks first. llvm-svn: 91101
-
Bill Wendling authored
more than one successor. Normally, these extra successors are dead. However, some of them may branch to exception handling landing pads. If we remove those successors, then the landing pads could go away if all predecessors to it are removed. Before, it was checking if the direct successor was the landing pad. But it could be the result of jumping through multiple basic blocks to get to it. If we were to only check for the existence of an EH_LABEL in the basic block and not remove successors if it's in there, then it could stop actually dead basic blocks from being removed. llvm-svn: 91092
-
Jim Grosbach authored
llvm-svn: 91090
-
Devang Patel authored
If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die. llvm-svn: 91077
-
- Dec 10, 2009
-
-
Evan Cheng authored
It's not safe to coalesce a move where src and dst registers have different subregister indices. e.g.: %reg16404:1<def> = MOV8rr %reg16412:2<kill> llvm-svn: 91061
-
Devang Patel authored
Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation. llvm-svn: 91055
-
Jim Grosbach authored
llvm-svn: 91053
-
Devang Patel authored
llvm-svn: 91051
-
Jakob Stoklund Olesen authored
The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch is more conservative than r90502, and does not break 483.xalancbmk/i686. It still breaks the PowerPC bootstrap, so it is disabled by default, and can be enabled with the -trivial-coalesce-ends option. llvm-svn: 91049
-
Torok Edwin authored
This code was crashing always with oprofile enabled, since it tried to create a StringRef out of NULL, which run strlen on NULL. llvm-svn: 91046
-
Eric Christopher authored
of the loop. We could get to this condition via indirect branches. llvm-svn: 91009
-
Chris Lattner authored
value size. This only manifested when memdep inprecisely returns clobber, which is do to a caching issue in the PR5744 testcase. We can 'efficiently emulate' this by using '-no-aa' llvm-svn: 91004
-
Jim Grosbach authored
Add memory barrier intrinsic support for ARM. Moving towards adding the atomic operations intrinsics. llvm-svn: 91003
-
Chris Lattner authored
llvm-svn: 90999
-
- Dec 09, 2009
-
-
Dan Gohman authored
llvm-svn: 90990
-
Evan Cheng authored
vector_shuffle (scalar_to_vector (i32 load (ptr + 4))), undef, <0, 0, 0, 0> => vector_shuffle (v4i32 load ptr), undef, <1, 1, 1, 1> iff ptr is 16-byte aligned (or can be made into 16-byte aligned). llvm-svn: 90984
-
Dan Gohman authored
currently somewhat convenient for them to have the same value. llvm-svn: 90980
-
Devang Patel authored
llvm-svn: 90979
-
Chris Lattner authored
clobbers to forward pieces of large stores to small loads, we need to consider the properly phi translated pointer in the store block. llvm-svn: 90978
-
Chris Lattner authored
implicitly constant folds. llvm-svn: 90977
-
Bob Wilson authored
llvm-svn: 90975
-
Chris Lattner authored
add, there is no need to scan the world to find the same add again. This invalidates the previous testcase, which wasn't wonderful anyway, because it needed a run of instcombine to permute the use-lists in just the right way to before GVN was run (so it was really fragile). Not a big loss. llvm-svn: 90973
-
Chris Lattner authored
binary operator that wasn't an add. In this case, a xor. Whoops. llvm-svn: 90971
-
-
Chris Lattner authored
to require the load ty/ptr to be passed in, no functionality change. llvm-svn: 90960
-
Chris Lattner authored
and pointer instead of the load. No functionality change. llvm-svn: 90959
-
Chris Lattner authored
of the query. llvm-svn: 90958
-
Daniel Dunbar authored
llvm-svn: 90957
-