- May 02, 2013
-
-
Tom Stellard authored
All but two patterns have been converted to the new syntax. The remaining two patterns will require COPY_TO_REGCLASS instructions, which the VLIW DAG Scheduler cannot handle. llvm-svn: 180922
-
Tom Stellard authored
Fortunately this pattern never matched, otherwise we would have generated incorrect code. Signed-off-by:
Christian K??nig <christian.koenig@amd.com> llvm-svn: 180921
-
Michael Liao authored
llvm-svn: 180915
-
Michael Liao authored
No functionality change llvm-svn: 180914
-
Michael Liao authored
No functionality change llvm-svn: 180912
-
Akira Hatanaka authored
No functionality changes. llvm-svn: 180897
-
Filip Pizlo authored
CodeModel: It's now possible to create an MCJIT instance with any CodeModel you like. Previously it was only possible to create an MCJIT that used CodeModel::JITDefault. EnableFastISel: It's now possible to turn on the fast instruction selector. The CodeModel option required some trickery. The problem is that previously, we were ensuring future binary compatibility in the MCJITCompilerOptions by mandating that the user bzero's the options struct and passes the sizeof() that he saw; the bindings then bzero the remaining bits. This works great but assumes that the bitwise zero equivalent of any field is a sensible default value. But this is not the case for LLVMCodeModel, or its internal equivalent, llvm::CodeModel::Model. In both of those, the default for a JIT is CodeModel::JITDefault (or LLVMCodeModelJITDefault), which is not bitwise zero. Hence this change introduces LLVMInitializeMCJITCompilerOptions(), which will initialize the user's options struct with defaults. The user will use this in the same way that they would have previously used memset() or bzero(). MCJITCAPITest.cpp illustrates the change, as does the comment in ExecutionEngine.h. llvm-svn: 180893
-
- May 01, 2013
-
-
Jyotsna Verma authored
llvm-svn: 180885
-
Jyotsna Verma authored
PredicateInstruction function. llvm-svn: 180884
-
Filip Pizlo authored
the things, and renames it to CBindingWrapping.h. I also moved CBindingWrapping.h into Support/. This new file just contains the macros for defining different wrap/unwrap methods. The calls to those macros, as well as any custom wrap/unwrap definitions (like for array of Values for example), are put into corresponding C++ headers. Doing this required some #include surgery, since some .cpp files relied on the fact that including Wrap.h implicitly caused the inclusion of a bunch of other things. This also now means that the C++ headers will include their corresponding C API headers; for example Value.h must include llvm-c/Core.h. I think this is harmless, since the C API headers contain just external function declarations and some C types, so I don't believe there should be any nasty dependency issues here. llvm-svn: 180881
-
Rafael Espindola authored
Patch by Joshua Magee. llvm-svn: 180842
-
Akira Hatanaka authored
Expand copy instructions between two accumulator registers before callee-saved scan is done. Handle copies between integer GPR and hi/lo registers in MipsSEInstrInfo::copyPhysReg. Delete pseudo-copy instructions that are not needed. llvm-svn: 180827
-
Akira Hatanaka authored
instructions. llvm-svn: 180820
-
- Apr 30, 2013
-
-
Akira Hatanaka authored
No intended functionality changes. llvm-svn: 180807
-
Akira Hatanaka authored
llvm-svn: 180801
-
Rafael Espindola authored
Patch by Oliver Pinter. llvm-svn: 180797
-
Mihai Popa authored
s tightens up the encoding description for ARM post-indexed ldr instructions. All instructions in this class have bit 4 cleared. It turns out that there is a test case for this, but it was marked XFAIL. llvm-svn: 180778
-
Stepan Dyatkovskiy authored
1. VarArgStyleRegisters: functionality that emits "store" instructions for byval regs moved out into separated method "StoreByValRegs". Before this patch VarArgStyleRegisters had confused use-cases. It was used for both variadic functions and for regular functions with byval parameters. In last case it created new stack-frame and registered it as VarArg frame, that is wrong. This patch replaces VarArgsStyleRegisters usage for byval parameters with StoreByValRegs method. 2. In ARMMachineFunctionInfo, "get/setVarArgsRegSaveSize" was renamed to "get/setArgRegsSaveSize". By the same reason. Sometimes it was used for variadic functions, and sometimes for byval parameters in regular functions. Actually, this property means the size of registers, that keeps arguments, and thats why it was renamed. 3. In ARMISelLowering.cpp, ARMTargetLowering class, in methods computeRegArea and StoreByValRegs, VARegXXXXXX was renamed to ArgRegsXXXXXX still by the same reasons. llvm-svn: 180774
-
Vincent Lejeune authored
This will improve the performance of memory reads. llvm-svn: 180762
-
Vincent Lejeune authored
llvm-svn: 180761
-
Vincent Lejeune authored
llvm-svn: 180760
-
Vincent Lejeune authored
llvm-svn: 180759
-
Vincent Lejeune authored
llvm-svn: 180758
-
Vincent Lejeune authored
llvm-svn: 180757
-
Vincent Lejeune authored
llvm-svn: 180756
-
Vincent Lejeune authored
v2[Vincent Lejeune]: Split FetchInst into usesTextureCache/usesVertexCache llvm-svn: 180755
-
Vincent Lejeune authored
llvm-svn: 180753
-
Vincent Lejeune authored
llvm-svn: 180752
-
Vincent Lejeune authored
llvm-svn: 180751
-
Tom Stellard authored
llvm-svn: 180735
-
Tom Stellard authored
The EOP bit was not being encoded. llvm-svn: 180734
-
- Apr 28, 2013
-
-
Jia Liu authored
delete blank. llvm-svn: 180687
-
- Apr 27, 2013
-
-
Rafael Espindola authored
This fixes pr15763. Patch by David Fang. llvm-svn: 180657
-
- Apr 26, 2013
-
-
Tom Stellard authored
We need to intialize this to something and since clang does not set the shader type attribute and clang is used only for compute shaders, initializing it to COMPUTE seems like the best choice. Reviewed-by:
Christian König <christian.koenig@amd.com> llvm-svn: 180620
-
Quentin Colombet authored
"hint" space for Thumb actually overlaps the encoding space of the CPS instruction. In actuality, hints can be defined as CPS instructions where imod and M bits are all nil. Handle decoding of permitted nop-compatible hints (i.e. nop, yield, wfi, wfe, sev) in DecodeT2CPSInstruction. This commit adds a proper diagnostic message for Imm0_4 and updates all tests. Patch by Mihail Popa <Mihail.Popa@arm.com>. llvm-svn: 180617
-
Ulrich Weigand authored
PowerPC: Use RegisterOperand instead of RegisterClass operands In the default PowerPC assembler syntax, registers are specified simply by number, so they cannot be distinguished from immediate values (without looking at the opcode). This means that the default operand matching logic for the asm parser does not work, and we need to specify custom matchers. Since those can only be specified with RegisterOperand classes and not directly on the RegisterClass, all instructions patterns used by the asm parser need to use a RegisterOperand (instead of a RegisterClass) for all their register operands. This patch adds one RegisterOperand for each RegisterClass, using the same name as the class, just in lower case, and updates all instruction patterns to use RegisterOperand instead of RegisterClass operands. llvm-svn: 180611
-
Ulrich Weigand authored
PowerPC: Fix encoding of vsubcuw and vsum4sbs instructions When testing the asm parser, I noticed wrong encodings for the above instructions (wrong sub-opcodes). Tests will be added together with the asm parser. llvm-svn: 180608
-
Ulrich Weigand authored
PowerPC: Fix encoding of stfsu and stfdu instructions When testing the asm parser, I noticed wrong encodings for the above instructions (wrong sub-opcodes). Note that apparently the compiler currently never generates pre-inc instructions for floating point types for some reason ... Tests will be added together with the asm parser. llvm-svn: 180607
-
Ulrich Weigand authored
PowerPC: Fix encoding of rldimi and rldcl instructions When testing the asm parser, I noticed wrong encodings for the above instructions (wrong operand name in rldimi, wrong form and sub-opcode for rldcl). Tests will be added together with the asm parser. llvm-svn: 180606
-
Ulrich Weigand authored
PowerPC: Support PC-relative fixup_ppc_brcond14. When testing the asm parser, I ran into an error when using a conditional branch to an external symbol (this doesn't occur in compiler-generated code) due to missing support in PPCELFObjectWriter::getRelocTypeInner. llvm-svn: 180605
-