|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 86494 | 
| | 
| 
| 
| | llvm-svn: 86404 | 
| | 
| 
| 
| 
| 
| | immediate operands when they will fit into the using instruction.
llvm-svn: 84778 | 
| | 
| 
| 
| | llvm-svn: 84536 | 
| | 
| 
| 
| | llvm-svn: 78666 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - This change also makes it possible to switch between ARM / Thumb on a
  per-function basis.
- Fixed thumb2 routine which expand reg + arbitrary immediate. It was using
  using ARM so_imm logic.
- Use movw and movt to do reg + imm when profitable.
- Other code clean ups and minor optimizations.
llvm-svn: 77300 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379 | 
| | 
| 
| 
| 
| 
| | the immediates are no longer encoded in the imm8 + rot format, that are left as it is. The encoding is now done in ams printing and code emission time instead.
llvm-svn: 75048 | 
| | 
| 
| 
| | llvm-svn: 74658 | 
| | 
| 
| 
| 
| 
| | addressing mode is encoded in the second operand, not the third.
llvm-svn: 74641 | 
| | 
| 
| 
| 
| 
| | After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this.
llvm-svn: 74420 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | also some contribution from Jim Grosbach, Bob Wilson, and Evan Cheng.
I've done my best to consolidate the patches with those that were done by
Viktor Kutuzov and Anton Korzh from Access Softek, Inc. Let me know if missed
anything. I've completely reorganized the thumb2 td file, made more extensive
uses of multiclass, etc.
Test cases will be contributed later after I re-organize what's in svn first.
llvm-svn: 73965 | 
| | 
| 
| 
| | llvm-svn: 68050 | 
| | 
| 
| 
| | llvm-svn: 54128 | 
| | 
| 
| 
| | llvm-svn: 45418 | 
|  | llvm-svn: 33353 |