- Jun 05, 2013
-
-
David Blaikie authored
When a function is inlined we lazily construct the variables representing the function's parameters. After that, we add any remaining unused parameters. If the function doesn't use all the parameters, or uses them out of order, then the DWARF would produce them in that order, producing a parameter order that doesn't match the source. This fix causes us to always keep the arg variables at the start of the variable list & in the original order from the source. llvm-svn: 183297
-
Tom Stellard authored
Reviewed-by: vljn at ovi.com llvm-svn: 183294
-
Rafael Espindola authored
llvm-svn: 183293
-
Rafael Espindola authored
Should fix the MCJIT tests on PPC. llvm-svn: 183288
-
Rafael Espindola authored
It will be used for ELF dumping too. llvm-svn: 183287
-
Rafael Espindola authored
This reverts commit r183279. CodeGen/R600/texture-input-merge.ll was failing. llvm-svn: 183286
-
Rafael Espindola authored
In ELF (as in MachO), not all relocations point to symbols. Represent this properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj ELF's dumper to handle relocatios without symbols. llvm-svn: 183284
-
Vincent Lejeune authored
llvm-svn: 183279
-
Vincent Lejeune authored
llvm-svn: 183278
-
Evan Cheng authored
llvm-svn: 183275
-
Arnold Schwaighofer authored
llvm-svn: 183273
-
Arnold Schwaighofer authored
llvm-svn: 183271
-
Arnold Schwaighofer authored
llvm-svn: 183270
-
Arnold Schwaighofer authored
llvm-svn: 183269
-
Arnold Schwaighofer authored
llvm-svn: 183268
-
Arnold Schwaighofer authored
llvm-svn: 183267
-
Arnold Schwaighofer authored
Add more InstRW mappings. llvm-svn: 183266
-
Arnold Schwaighofer authored
llvm-svn: 183265
-
Arnold Schwaighofer authored
llvm-svn: 183264
-
Arnold Schwaighofer authored
llvm-svn: 183263
-
Arnold Schwaighofer authored
llvm-svn: 183262
-
Arnold Schwaighofer authored
llvm-svn: 183261
-
Arnold Schwaighofer authored
llvm-svn: 183260
-
Arnold Schwaighofer authored
llvm-svn: 183259
-
Arnold Schwaighofer authored
llvm-svn: 183258
-
Arnold Schwaighofer authored
Add some generic SchedWrites and assign resources for Swift and Cortex A9. llvm-svn: 183257
-
Arnold Schwaighofer authored
An instruction with less than 3 inputs is trivially a fast immediate shift. llvm-svn: 183256
-
- Jun 04, 2013
-
-
Venkatraman Govindaraju authored
llvm-svn: 183243
-
David Majnemer authored
IndVarSimplify is willing to move divide instructions outside of their loop bodies if they are invariant of the loop. However, it may not be safe to expand them if we do not know if they can trap. Instead, check to see if it is not safe to expand the instruction and skip the expansion. This fixes PR16041. Testcase by Rafael Ávila de Espíndola. llvm-svn: 183239
-
David Majnemer authored
The ARM backend did not expect LDRBi12 to hold a constant pool operand. Allow for LLVM to deal with the instruction similar to how it deals with LDRi12. This fixes PR16215. llvm-svn: 183238
-
Vincent Lejeune authored
llvm-svn: 183229
-
Rafael Espindola authored
The problem this time seems to be a thinko. We were assuming that in the CFG A | \ | B | / C speculating the basic block B would cause only the phi value for the B->C edge to be speculated. That is not true, the phi's are semantically in the edges, so if the A->B->C path is taken, any code needed for A->C is not executed and we have to consider it too when deciding to speculate B. llvm-svn: 183226
-
Hans Wennborg authored
llvm-svn: 183219
-
Benjamin Kramer authored
GCC complains about casting away const. llvm-svn: 183216
-
Vladimir Medic authored
Test commit for user vmedic, to verify commit access. One line of comment is added to MipsAsmParser.cpp. llvm-svn: 183215
-
Aaron Ballman authored
llvm-svn: 183176
-
Aaron Ballman authored
llvm-svn: 183175
-
Shuxin Yang authored
(4.58s vs 3.2s on an oldish Mac Tower). The corresponding src is excerpted bellow. The lopp accounts for about 90% of execution time. -------------------- cat -n test-suite/MultiSource/Benchmarks/Olden/em3d/make_graph.c 90 91 for (k=0; k<j; k++) 92 if (other_node == cur_node->to_nodes[k]) break; The defective layout is sketched bellow, where the two branches need to swap. ------------------------------------------------------------------------ L: ... if (cond) goto out-of-loop goto L While this code sequence is defective, I don't understand why it incurs 1/3 of execution time. CPU-event-profiling indicates the poor laoyout dose not increase in br-misprediction; it dosen't increase stall cycle at all, and it dosen't prevent the CPU detect the loop (i.e. Loop-Stream-Detector seems to be working fine as well)... The root cause of the problem is that the layout pass calls AnalyzeBranch() with basic-block which is not updated to reflect its current layout. rdar://13966341 llvm-svn: 183174
-
Nick Lewycky authored
llvm-svn: 183167
-
- Jun 03, 2013
-
-
David Majnemer authored
PR16069 is an interesting case where an incoming value to a PHI is a trap value while also being a 'ConstantExpr'. We do not consider this case when performing the 'HoistThenElseCodeToIf' optimization. Instead, make our modifications more conservative if we detect that we cannot transform the PHI to a select. llvm-svn: 183152
-