- Aug 28, 2013
-
-
Akira Hatanaka authored
Also, fix predicates. llvm-svn: 189432
-
Akira Hatanaka authored
No functionality change. llvm-svn: 189431
-
Akira Hatanaka authored
llvm-svn: 189430
-
- Aug 27, 2013
-
-
David Majnemer authored
Summary: MASM let's you do stuff like 'MOV FS:20, EAX' and 'MOV EAX, FS:20' Reviewers: craig.topper, rnk Reviewed By: rnk CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1470 llvm-svn: 189407
-
Joerg Sonnenberger authored
first. Use this to turn the PPC modifiers into PPC specific expressions, allowing them to work on constants. llvm-svn: 189400
-
Jack Carter authored
llvm-svn: 189396
-
Joey Gouly authored
llvm-svn: 189388
-
Elena Demikhovsky authored
llvm-svn: 189349
-
Joey Gouly authored
Fix two issues I found while writing these tests. llvm-svn: 189341
-
Tim Northover authored
These instructions aren't particularly complicated and it's well worth having patterns for some reasonably useful LLVM IR that will match them. Soon we should be able to switch Clang over to producing this natural version. llvm-svn: 189335
-
Daniel Sanders authored
llvm-svn: 189332
-
Richard Sandiford authored
Lengths up to a certain threshold (currently 6 * 256) use a series of MVCs. Lengths above that threshold use a loop to handle X*256 bytes followed by a single MVC to handle the excess (if any). This loop will also be needed in future when support for variable lengths is added. Because the same tablegen classes are used to define MVC and CLC, the patch also has the side-effect of defining a pseudo loop instruction for CLC. That instruction isn't used yet (and wouldn't be handled correctly if it were). I'm planning to use it soon though. llvm-svn: 189331
-
Daniel Sanders authored
llvm-svn: 189330
-
Elena Demikhovsky authored
llvm-svn: 189326
-
Charles Davis authored
Revert "Fix the build broken by r189315." and "Move everything depending on Object/MachOFormat.h over to Support/MachO.h." This reverts commits r189319 and r189315. r189315 broke some tests on what I believe are big-endian platforms. llvm-svn: 189321
-
Charles Davis authored
llvm-svn: 189315
-
- Aug 26, 2013
-
-
Jim Grosbach authored
Get the register class right for the TST instruction. This keeps the machine verifier happy, enabling us to turn it on for another test. rdar://12594152 llvm-svn: 189274
-
Bill Schmidt authored
llvm-svn: 189272
-
Jim Grosbach authored
Constant pool and global value reference instructions need more restricted register classes than plain GPR. rdar://12594152 llvm-svn: 189270
-
Jim Grosbach authored
The create machine code wasn't properly in SSA, which the machine verifier properly complains about. Now that fast-isel is closer to verifier clean, errors like this show up more clearly. Additionally, the Thumb pseudo tPICADD was used for both ARM and Thumb mode functions, which is obviously wrong. Fix that along the way. Test case is part of the following commit which will finish making an additional fast-isel test verifier clean an enable it for the regression test suite. This commit is separate since its not just a verifier cleanup, but an actual correctness issue. rdar://12594152 (for the fast-isel verifier aspects) llvm-svn: 189269
-
Bill Schmidt authored
Incremental improvement to fast-isel for PPC64. This allows us to select on ret, sext, and zext. Filling in sext/zext improves some of the existing logic in handling compare-immediates that needed extends. A simplified return convention for fast-isel is also added to the PPC64 calling conventions. All call/return processing for DAG selection is handled with custom code, so there isn't an existing CC to rely on here. The include of PPCGenCallingConv.inc causes compiler warnings due to the 32-bit calling conventions that are not used, so the dummy function "usePPC32CCs()" is added here to silence those. Test cases for the return and extend logic are added. llvm-svn: 189266
-
Tom Stellard authored
llvm-svn: 189226
-
Tom Stellard authored
llvm-svn: 189225
-
Tom Stellard authored
llvm-svn: 189223
-
Tom Stellard authored
llvm-svn: 189222
-
Tom Stellard authored
This adds minimal support to the SelectionDAG for handling address spaces with different pointer sizes. The SelectionDAG should now correctly lower pointer function arguments to the correct size as well as generate the correct code when lowering getelementptr. This patch also updates the R600 DataLayout to use 32-bit pointers for the local address space. v2: - Add more helper functions to TargetLoweringBase - Use CHECK-LABEL for tests llvm-svn: 189221
-
Elena Demikhovsky authored
VPSHUFD, VPERMILPS, VMOVDDUP, VMOVLHPS, VMOVHLPS, VSHUFPS, VALIGN single and double forms. llvm-svn: 189215
-
Vladimir Medic authored
llvm-svn: 189213
-
Craig Topper authored
Make sure x86 instructions using ssmem/sdmem operand types are only able to parse memory operands of the proper size in Intel syntax. Primarily affects some of sse cvt instructions. llvm-svn: 189206
-
Craig Topper authored
Remove some unnecessary PredicateMethod overrides. Add RenderMethod overrides to remove forwarding in the X86AsmParser code itself. No functional change. llvm-svn: 189205
-
Craig Topper authored
llvm-svn: 189204
-
Bill Schmidt authored
First chunk of actual fast-isel selection code. This handles direct and indirect branches, as well as feeding compares for direct branches. PPCFastISel::PPCEmitIntExt() is just roughed in and will be expanded in a future patch. This also corrects a problem with selection for constant pool entries in JIT mode or with small code model. llvm-svn: 189202
-
Craig Topper authored
First round of fixes for the x86 fixes for the x86 move accumulator from/to memory offset instructions. -Assembly parser now properly check the size of the memory operation specified in intel syntax. So 'mov word ptr [5], al' is no longer accepted. -x86-32 disassembly of these instructions no longer sign extends the 32-bit address immediate based on size. -Intel syntax printing prints the ptr size and places brackets around the address immediate. Known remaining issues with these instructions: -Segment override prefix is not supported. PR16962 and PR16961. -Immediate size should be changed by address size prefix. llvm-svn: 189201
-
- Aug 25, 2013
-
-
Venkatraman Govindaraju authored
llvm-svn: 189198
-
Venkatraman Govindaraju authored
llvm-svn: 189195
-
Elena Demikhovsky authored
llvm-svn: 189189
-
Reed Kotler authored
I need to add the rest of these to the list or else to delay putting out the actual stub until later in code generation when I know if the external function ever got emitted Resubmit this patch. The target triple needs to be added to the test so that clang does not tell the backend the wrong target when the host is BSD. There is a clang bug in here somewhere that I need to track down. At Mips this has been filed internally as a bug. llvm-svn: 189186
-
- Aug 24, 2013
-
-
Craig Topper authored
Add hasSideEffects/mayLoad/mayStore flags to the X86 moffs8/moffs16/moffs32/moffs64 versions of move. llvm-svn: 189182
-
Craig Topper authored
llvm-svn: 189178
-
Shuxin Yang authored
llvm-svn: 189176
-