| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | [fast-isel] Add support for ORs with non-legal types. | Chad Rosier | 2012-02-08 | 1 | -2/+13 | |
| | | | | | llvm-svn: 150045 | |||||
| * | [fast-isel] Add support for indirect branches. | Chad Rosier | 2012-02-07 | 1 | -0/+13 | |
| | | | | | llvm-svn: 150014 | |||||
| * | Convert assert(0) to llvm_unreachable | Craig Topper | 2012-02-07 | 1 | -3/+1 | |
| | | | | | llvm-svn: 149961 | |||||
| * | [fast-isel] Add support for ADDs with non-legal types. | Chad Rosier | 2012-02-06 | 1 | -5/+34 | |
| | | | | | llvm-svn: 149934 | |||||
| * | Persuade GCC that there is nothing worth warning about here (there isn't). | Duncan Sands | 2012-02-05 | 1 | -0/+1 | |
| | | | | | llvm-svn: 149834 | |||||
| * | [fast-isel] Add support for URem. | Chad Rosier | 2012-02-03 | 1 | -8/+10 | |
| | | | | | llvm-svn: 149716 | |||||
| * | [fast-isel] Rename isZExt to isSigned. No functional change intended. | Chad Rosier | 2012-02-03 | 1 | -13/+14 | |
| | | | | | llvm-svn: 149714 | |||||
| * | [fast-isel] Add support for UDIV. | Chad Rosier | 2012-02-03 | 1 | -8/+10 | |
| | | | | | llvm-svn: 149712 | |||||
| * | [fast-isel] Add support for FPToUI. Also add test cases for FPToSI. | Chad Rosier | 2012-02-03 | 1 | -6/+8 | |
| | | | | | llvm-svn: 149706 | |||||
| * | [fast-isel] Add support for selecting UIToFP. | Chad Rosier | 2012-02-03 | 1 | -6/+8 | |
| | | | | | llvm-svn: 149704 | |||||
| * | More dead code removal (using -Wunreachable-code) | David Blaikie | 2012-01-20 | 1 | -1/+0 | |
| | | | | | llvm-svn: 148578 | |||||
| * | Fix assert. | Eric Christopher | 2012-01-11 | 1 | -2/+2 | |
| | | | | | llvm-svn: 147966 | |||||
| * | Match SelectionDAG logic for enabling movt. | Jakob Stoklund Olesen | 2012-01-07 | 1 | -1/+5 | |
| | | | | | | | Darwin doesn't do static, and ELF targets only support static. llvm-svn: 147740 | |||||
| * | Use getRegForValue() to materialize the address of ARM globals. | Jakob Stoklund Olesen | 2012-01-07 | 1 | -10/+0 | |
| | | | | | | | | | | This enables basic local CSE, giving us 20% smaller code for consumer-typeset in -O0 builds. <rdar://problem/10658692> llvm-svn: 147720 | |||||
| * | Use movw+movt in ARMFastISel::ARMMaterializeGV. | Jakob Stoklund Olesen | 2012-01-07 | 1 | -29/+50 | |
| | | | | | | | | | | | | | | This eliminates a lot of constant pool entries for -O0 builds of code with many global variable accesses. This speeds up -O0 codegen of consumer-typeset by 2x because the constant island pass no longer has to look at thousands of constant pool entries. <rdar://problem/10629774> llvm-svn: 147712 | |||||
| * | ARM target code clean up. Check for iOS, not Darwin where it makes sense. | Evan Cheng | 2011-12-20 | 1 | -8/+8 | |
| | | | | | llvm-svn: 146981 | |||||
| * | VFP2 is required for FP loads. Noticed by inspection. | Chad Rosier | 2011-12-14 | 1 | -0/+2 | |
| | | | | | llvm-svn: 146569 | |||||
| * | Tidy up. | Chad Rosier | 2011-12-14 | 1 | -1/+2 | |
| | | | | | llvm-svn: 146568 | |||||
| * | Fix 80-column violation and extraneous brackets. | Chad Rosier | 2011-12-14 | 1 | -8/+9 | |
| | | | | | llvm-svn: 146566 | |||||
| * | - Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function | Evan Cheng | 2011-12-14 | 1 | -2/+2 | |
| | | | | | | | | | | | to finalize MI bundles (i.e. add BUNDLE instruction and computing register def and use lists of the BUNDLE instruction) and a pass to unpack bundles. - Teach more of MachineBasic and MachineInstr methods to be bundle aware. - Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to prevent IT blocks from being broken apart. llvm-svn: 146542 | |||||
| * | [fast-isel] Unaligned loads of floats are not supported. Therefore, convert ↵ | Chad Rosier | 2011-12-13 | 1 | -7/+32 | |
| | | | | | | | | | to a regular load and then move the result from a GPR to a FPR. llvm-svn: 146502 | |||||
| * | Add bundle aware API for querying instruction properties and switch the code | Evan Cheng | 2011-12-07 | 1 | -2/+1 | |
| | | | | | | | | | | | | | | | generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. llvm-svn: 146026 | |||||
| * | [arm-fast-isel] Doublewords only require word-alignment. | Chad Rosier | 2011-12-06 | 1 | -3/+4 | |
| | | | | | | | rdar://10528060 llvm-svn: 145891 | |||||
| * | Fix 80-column issues. | Bob Wilson | 2011-12-04 | 1 | -4/+8 | |
| | | | | | llvm-svn: 145783 | |||||
| * | [arm-fast-isel] Unaligned stores of floats require special care. | Chad Rosier | 2011-12-03 | 1 | -3/+18 | |
| | | | | | | | rdar://10510150 llvm-svn: 145742 | |||||
| * | Move global variables in TargetMachine into new TargetOptions class. As an API | Nick Lewycky | 2011-12-02 | 1 | -1/+1 | |
| | | | | | | | | | | | | | change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714 | |||||
| * | [arm-fast-isel] After promoting a function parameter be sure to update the | Chad Rosier | 2011-12-02 | 1 | -2/+4 | |
| | | | | | | | | | argument value type. Otherwise, the sign/zero-extend has no effect on arguments passed via the stack (i.e., undefined high-order bits). rdar://10515467 llvm-svn: 145701 | |||||
| * | Silence wrong warnings from GCC about variables possibly being used | Duncan Sands | 2011-11-28 | 1 | -2/+2 | |
| | | | | | | | | uninitialized: GCC doesn't understand that the variables are only used if !UseImm, in which case they have been initialized. llvm-svn: 145239 | |||||
| * | Guard call to getRegForValue with isTypeLegal check to avoid unnecessary ↵ | Chad Rosier | 2011-11-18 | 1 | -3/+5 | |
| | | | | | | | work/dead code. llvm-svn: 144959 | |||||
| * | Add TODO comment. | Chad Rosier | 2011-11-17 | 1 | -0/+2 | |
| | | | | | llvm-svn: 144920 | |||||
| * | Dead code. | Chad Rosier | 2011-11-17 | 1 | -14/+0 | |
| | | | | | llvm-svn: 144888 | |||||
| * | Don't unconditionally set the kill flag. | Chad Rosier | 2011-11-17 | 1 | -1/+1 | |
| | | | | | | | rdar://10456186 llvm-svn: 144872 | |||||
| * | Check to make sure we can select the instruction before trying to put the | Chad Rosier | 2011-11-16 | 1 | -6/+6 | |
| | | | | | | | operands into a register. Otherwise, we may materialize dead code. llvm-svn: 144805 | |||||
| * | Add FIXME comment. | Chad Rosier | 2011-11-16 | 1 | -0/+2 | |
| | | | | | llvm-svn: 144743 | |||||
| * | Remove some unnecessary includes of PseudoSourceValue.h. | Jay Foad | 2011-11-15 | 1 | -1/+0 | |
| | | | | | llvm-svn: 144631 | |||||
| * | Supporting inline memmove isn't going to be worthwhile. The only way to avoid | Chad Rosier | 2011-11-14 | 1 | -16/+9 | |
| | | | | | | | | violating a dependency is to emit all loads prior to stores. This would likely cause a great deal of spillage offsetting any potential gains. llvm-svn: 144585 | |||||
| * | Add support for inlining small memcpys. | Chad Rosier | 2011-11-14 | 1 | -2/+63 | |
| | | | | | | | rdar://10412592 llvm-svn: 144578 | |||||
| * | Fix a performance regression from r144565. Positive offsets were being lowered | Chad Rosier | 2011-11-14 | 1 | -3/+3 | |
| | | | | | | | into registers, rather then encoded directly in the load/store. llvm-svn: 144576 | |||||
| * | Add support for Thumb load/stores with negative offsets. | Chad Rosier | 2011-11-14 | 1 | -16/+60 | |
| | | | | | | | rdar://10412592 llvm-svn: 144565 | |||||
| * | Add support for ARM halfword load/stores and signed byte loads with negative | Chad Rosier | 2011-11-14 | 1 | -8/+15 | |
| | | | | | | | | offsets. rdar://10412592 llvm-svn: 144518 | |||||
| * | The order in which the predicate is added differs between Thumb and ARM ↵ | Chad Rosier | 2011-11-13 | 1 | -10/+16 | |
| | | | | | | | mode. Fix predicate when in ARM mode and restore SelectIntrinsicCall. llvm-svn: 144494 | |||||
| * | Temporarily disable SelectIntrinsicCall when in ARM mode. This is causing ↵ | Chad Rosier | 2011-11-13 | 1 | -0/+1 | |
| | | | | | | | failures. llvm-svn: 144492 | |||||
| * | Fix comments. | Chad Rosier | 2011-11-13 | 1 | -3/+3 | |
| | | | | | llvm-svn: 144490 | |||||
| * | Add support for emitting both signed- and zero-extend loads. Fix | Chad Rosier | 2011-11-13 | 1 | -32/+91 | |
| | | | | | | | | | | | | | | SimplifyAddress to handle either a 12-bit unsigned offset or the ARM +/-imm8 offsets (addressing mode 3). This enables a load followed by an integer extend to be folded into a single load. For example: ldrb r1, [r0] ldrb r1, [r0] uxtb r2, r1 => mov r3, r2 mov r3, r1 llvm-svn: 144488 | |||||
| * | Add support in fast-isel for selecting memset/memcpy/memmove intrinsics. | Chad Rosier | 2011-11-11 | 1 | -10/+60 | |
| | | | | | llvm-svn: 144426 | |||||
| * | Rename variables to avoid confusion. No functionallity change intended. | Chad Rosier | 2011-11-11 | 1 | -18/+18 | |
| | | | | | llvm-svn: 144377 | |||||
| * | Add support for using immediates with select instructions. | Chad Rosier | 2011-11-11 | 1 | -8/+40 | |
| | | | | | | | rdar://10412592 llvm-svn: 144376 | |||||
| * | When loading a value, treat an i1 as an i8. | Chad Rosier | 2011-11-11 | 1 | -0/+1 | |
| | | | | | llvm-svn: 144356 | |||||
| * | Add support for using MVN to materialize negative constants. | Chad Rosier | 2011-11-11 | 1 | -3/+17 | |
| | | | | | | | rdar://10412592 llvm-svn: 144348 | |||||
| * | When in ARM mode, LDRH/STRH require special handling of negative offsets. | Chad Rosier | 2011-11-10 | 1 | -1/+2 | |
| | | | | | | | | For correctness, disable this for now. rdar://10418009 llvm-svn: 144316 | |||||

