- Jun 14, 2009
-
-
Torok Edwin authored
llvm-svn: 73342
-
Owen Anderson authored
is that, for functions whose bodies are entirely guarded by an if-statement, it can be profitable to pull the test out of the callee and into the caller. This code has had some cursory testing, but still has a number of known issues on the LLVM test suite. llvm-svn: 73338
-
Bruno Cardoso Lopes authored
Introduce new BinaryObject (blob) class, ELF Writer modified to use it. BinaryObject.h by Aaron Gray llvm-svn: 73333
-
Douglas Gregor authored
llvm-svn: 73331
-
Shantonu Sen authored
llvm-svn: 73320
-
- Jun 13, 2009
-
-
Nick Lewycky authored
pointer. This fixes kimwitu++. Pointed out by Frits van Bommel on review! llvm-svn: 73299
-
Sanjiv Gupta authored
The subprogram descriptor for a function may be missing (llvm-ld linking two static functions with same name), so pick up the compilation unit for the function from the first valid debug loc of its instructions. This patch also emits debug info for structure (aggregate types in general) types. llvm-svn: 73295
-
Dan Gohman authored
induction variable when the addrec to be expanded does not require a wider type. This eliminates the need for IndVarSimplify to micro-manage SCEV expansions, because SCEVExpander now automatically expands them in the form that IndVarSimplify considers to be canonical. (LSR still micro-manages its SCEV expansions, because it's optimizing for the target, rather than for other optimizations.) Also, this uses the new getAnyExtendExpr, which has more clever expression simplification logic than the IndVarSimplify code it replaces, and this cleans up some ugly expansions in code such as the included masked-iv.ll testcase. llvm-svn: 73294
-
Dan Gohman authored
extension with unspecified bits. llvm-svn: 73293
-
Evan Cheng authored
consecutive addresses togther. This makes it easier for the post-allocation pass to form ldm / stm. This is step 1. We are still missing a lot of ldm / stm opportunities because of register allocation are not done in the desired order. More enhancements coming. llvm-svn: 73291
-
Devang Patel authored
llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics. Apply defensive patch to preserve at least one lexical scope till the end of function. llvm-svn: 73282
-
Bruno Cardoso Lopes authored
llvm-svn: 73271
-
Dan Gohman authored
of the target's pointer size. This avoids the need for -m32 on the llvm-gcc command-line, which some targets may not support. llvm-svn: 73270
-
Dan Gohman authored
on systems which default to a 64-bit target. llvm-svn: 73265
-
Owen Anderson authored
llvm-svn: 73258
-
- Jun 12, 2009
-
-
Owen Anderson authored
llvm-svn: 73257
-
Owen Anderson authored
llvm-svn: 73256
-
Evan Cheng authored
If killed register is defined by implicit_def, do not clear it since it's live range may overlap another def of same register. llvm-svn: 73255
-
Chris Lattner authored
non-default addrspaces. llvm-svn: 73253
-
Evan Cheng authored
llvm-svn: 73252
-
Devang Patel authored
Document noredzone and noimplicitfloat function attributes. llvm-svn: 73246
-
Devang Patel authored
llvm-svn: 73244
-
Dan Gohman authored
it may round differently. This fixes PR4374. llvm-svn: 73243
-
Dan Gohman authored
the relationship with MergeFunctions.cpp's isEquivalentOperation, and make a trivial code reordering so that the two functions are easier to compare. Fix the name of Instruction::isSameOperationAs in MergeFunction.cpp's isEquivalentOperation's comment, and fix a nearby 80-column violation. llvm-svn: 73241
-
Dale Johannesen authored
llvm-svn: 73239
-
Bill Wendling authored
llvm-svn: 73236
-
Nick Lewycky authored
llvm-svn: 73235
-
Arnold Schwaighofer authored
out of sync with regular cc. The only difference between the tail call cc and the normal cc was that one parameter register - R9 - was reserved for calling functions through a function pointer. After time the tail call cc has gotten out of sync with the regular cc. We can use R11 which is also caller saved but not used as parameter register for potential function pointers and remove the special tail call cc on x86-64. llvm-svn: 73233
-
Nick Lewycky authored
llvm-svn: 73231
-
Nick Lewycky authored
thunks. llvm-svn: 73230
-
Duncan Sands authored
Patch by Edward O'Callaghan. llvm-svn: 73228
-
Nicolas Geoffray authored
another thread. llvm-svn: 73227
-
Nick Lewycky authored
either one call the other since either one can be replaced at link time, and they need to be independent. llvm-svn: 73225
-
Duncan Sands authored
Patch by Edward O'Callaghan. llvm-svn: 73224
-
Duncan Sands authored
llvm-svn: 73223
-
Nick Lewycky authored
points to while analyzing all other fields. Use FoldingSetNodeID to produce a good hash. This dramatically decreases run times. Emit thunks. This means that it can look at all functions regardless of what the linkage is or if the address is taken, but unfortunately some small functions can be even shorter than the thunk because our backend doesn't yet realize it can just turn these into jumps. This means that this pass will pessimize code on average. llvm-svn: 73222
-
Nick Lewycky authored
llvm-svn: 73221
-
Nick Lewycky authored
since functions may contain aggregate constants too. llvm-svn: 73220
-
Nick Lewycky authored
against the target triple, instead of equivalent to "XFAIL: *". llvm-svn: 73219
-
Oscar Fuentes authored
Patch by Ingmar Vanhassel! llvm-svn: 73216
-