- Mar 07, 2013
-
-
Nadav Rotem authored
llvm-svn: 176604
-
Nadav Rotem authored
llvm-svn: 176602
-
Andrew Trick authored
Fixes rdar:13349374. Volatile loads and stores need to be preserved even if the language standard says they are undefined. "volatile" in this context means "get out of the way compiler, let my platform handle it". Additionally, this is the only way I know of with llvm to write to the first page (when hardware allows) without dropping to assembly. llvm-svn: 176599
-
Michael Liao authored
- Phi nodes should be replaced/updated after lowering CMOV into branch because 'mainMBB' updating operand in Phi node is changed. - Add EFLAGS in livein before lowering the 2nd CMOV. It's necessary as we will reuse the EFLAGS generated before the 1st lowered CMOV, which won't clobber EFLAGS. However, we need explicitly specify that. - '-attr=-cmov' test case are added. llvm-svn: 176598
-
- Mar 06, 2013
-
-
Akira Hatanaka authored
In N64-static, GOT address is needed to compute the branch address. llvm-svn: 176580
-
Andrew Trick authored
Always print options that differ from their implicit default. At least for simple option types. llvm-svn: 176572
-
Michael Liao authored
llvm-svn: 176570
-
Andrew Trick authored
This way, clang -mllvm -print-options shows that the driver is overriding it. llvm-svn: 176569
-
Shuxin Yang authored
The "invariant.load" metadata indicates the memory unit being accessed is immutable. A load annotated with this metadata can be moved across any store. As I am not sure if it is legal to move such loads across barrier/fence, this change dose not allow such transformation. rdar://11311484 Thank Arnold for code review. llvm-svn: 176562
-
Jim Grosbach authored
When considering folding a bitcast of an alloca into the alloca itself, make sure we don't shrink the amount of memory being allocated, or things rapidly go sideways. rdar://13324424 llvm-svn: 176547
-
Akira Hatanaka authored
llvm-svn: 176543
-
Michael Liao authored
- Clear 'mayStore' flag when loading from the atomic variable before the spin loop - Clear kill flag from one use to multiple use in registers forming the address to that atomic variable - don't use a physical register as live-in register in BB (neither entry nor landing pad.) by copying it into virtual register (patch by Cameron Zwarich) llvm-svn: 176538
-
Jakub Staszak authored
llvm-svn: 176537
-
Jakub Staszak authored
llvm-svn: 176536
-
Akira Hatanaka authored
This calling convention was added just to handle functions which return vector of floats. The fix committed in r165585 solves the problem. llvm-svn: 176530
-
- Mar 05, 2013
-
-
Akira Hatanaka authored
returned in registers $2 and $4. llvm-svn: 176527
-
Akira Hatanaka authored
handle fp128 returns. llvm-svn: 176523
-
Akira Hatanaka authored
point registers. llvm-svn: 176521
-
Akira Hatanaka authored
parameters from floating point registers if target is mips64 hard float. llvm-svn: 176520
-
Jakub Staszak authored
llvm-svn: 176519
-
Jakub Staszak authored
llvm-svn: 176518
-
Jakub Staszak authored
llvm-svn: 176516
-
Meador Inge authored
This patch adds many more functions to the target library information. All of the functions being added were discovered while doing the migration of the simplify-libcalls attribute annotation functionality to the functionattrs pass. As a part of that work the attribute annotation logic will query TLI to determine if a function should be annotated or not. Signed-off-by:
Meador Inge <meadori@codesourcery.com> llvm-svn: 176514
-
Jyotsna Verma authored
llvm-svn: 176513
-
Jyotsna Verma authored
llvm-svn: 176508
-
Vincent Lejeune authored
llvm-svn: 176507
-
Jyotsna Verma authored
llvm-svn: 176505
-
Arnold Schwaighofer authored
llvm-svn: 176504
-
Eli Bendersky authored
Patch by David Sehr llvm-svn: 176502
-
Benjamin Kramer authored
llvm-svn: 176501
-
Jyotsna Verma authored
llvm-svn: 176500
-
Jyotsna Verma authored
Set imMoveImm, isAsCheapAsAMove flags for TFRI instructions. llvm-svn: 176499
-
Vincent Lejeune authored
This is a skeleton for a pre-RA MachineInstr scheduler strategy. Currently it only tries to expose more parallelism for ALU instructions (this also makes the distribution of GPR channels more uniform and increases the chances of ALU instructions to be packed together in a single VLIW group). Also it tries to reduce clause switching by grouping instruction of the same kind (ALU/FETCH/CF) together. Vincent Lejeune: - Support for VLIW4 Slot assignement - Recomputation of ScheduleDAG to get more parallelism opportunities Tom Stellard: - Fix assertion failure when trying to determine an instruction's slot based on its destination register's class - Fix some compiler warnings Vincent Lejeune: [v2] - Remove recomputation of ScheduleDAG (will be provided in a later patch) - Improve estimation of an ALU clause size so that heuristic does not emit cf instructions at the wrong position. - Make schedule heuristic smarter using SUnit Depth - Take constant read limitations into account Vincent Lejeune: [v3] - Fix some uninitialized values in ConstPair - Add asserts to ensure an ALU slot is always populated llvm-svn: 176498
-
Arnold Schwaighofer authored
Clarify that we mean the object starting at the pointer to the end of the underlying object and not the size of the whole allocated object. llvm-svn: 176491
-
David Sehr authored
llvm-svn: 176490
-
Vincent Lejeune authored
Maintaining CONST_COPY Instructions until Pre Emit may prevent some ifcvt case and taking them in account for scheduling is difficult for no real benefit. llvm-svn: 176488
-
Vincent Lejeune authored
Reviewed-by: Tom Stellard <thomas.stellard at amd.com> llvm-svn: 176487
-
Vincent Lejeune authored
Reviewed-by: Tom Stellard <thomas.stellard at amd.com> mayLoad complexify scheduling and does not bring any usefull info as the location is not writeable at all. llvm-svn: 176486
-
Vincent Lejeune authored
Reviewed-by: Tom Stellard <thomas.stellard at amd.com> llvm-svn: 176485
-
Vincent Lejeune authored
NOTE: This is a candidate for the Mesa stable branch. llvm-svn: 176484
-