- Oct 03, 2012
-
-
Chad Rosier authored
llvm-svn: 165069
-
Nick Lewycky authored
llvm-svn: 165063
-
- Oct 02, 2012
-
-
Chad Rosier authored
of operand is specific to MS-style inline assembly and should not be generated when parsing normal assembly. The purpose of the wildcard operands are to allow the AsmParser to match multiple instructions (i.e., MCInsts) to a given ms-style asm statement. For the time being the matcher just returns the first match. This patch only implements wildcard matches for memory operands. Support for register wildcards will be added in the near future. llvm-svn: 165057
-
Eric Christopher authored
prologue. Also skip frame setup instructions when looking for the first location. llvm-svn: 165052
-
Eric Christopher authored
llvm-svn: 165051
-
Eric Christopher authored
in the block. llvm-svn: 165050
-
Eric Christopher authored
with just an insert point from the MachineBasicBlock and let the location be updated as we access it. llvm-svn: 165049
-
Andrew Kaylor authored
This adds 'elf' as a recognized target triple environment value and overrides the default generated object format on Windows platforms if that value is present. This patch also enables MCJIT tests on Windows using the new environment value. llvm-svn: 165030
-
Chad Rosier authored
map constraints and MCInst operands to inline asm operands. This replaces the getMCInstOperandNum() function. The logic to determine the constraints are not in place, so we still default to a register constraint (i.e., "r"). Also, we no longer build the MCInst but rather return just the opcode to get the MCInstrDesc. llvm-svn: 164979
-
- Oct 01, 2012
-
-
Craig Topper authored
llvm-svn: 164926
-
- Sep 30, 2012
-
-
Craig Topper authored
Change getX86SubSuperRegister to take an MVT::SimpleValueType rather than an EVT and add llvm_unreachable to the switches. Helps it compile to dramatically better code. llvm-svn: 164919
-
- Sep 28, 2012
-
-
Manman Ren authored
second output of SUB with first output of TEST. PR13966 llvm-svn: 164835
-
- Sep 27, 2012
-
-
Sylvestre Ledru authored
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 llvm-svn: 164768
-
Sylvestre Ledru authored
llvm-svn: 164767
-
- Sep 26, 2012
-
-
Bill Wendling authored
The hasFnAttr method has been replaced by querying the Attributes explicitly. No intended functionality change. llvm-svn: 164725
-
Jim Grosbach authored
If the offset is more than 24-bits, it won't fit in a scattered relocation offset field, so we fall back to using a non-scattered relocation. rdar://12358909 llvm-svn: 164724
-
Michael Liao authored
llvm-svn: 164675
-
Michael Liao authored
llvm-svn: 164674
-
Michael Liao authored
llvm-svn: 164673
-
Craig Topper authored
llvm-svn: 164664
-
Michael Liao authored
- Instead of embedding 'lock' into each mnemonic of atomic instructions except 'xchg', we teach X86 assembly printer to output 'lock' prefix similar to or consistent with code emitter. llvm-svn: 164659
-
- Sep 25, 2012
-
-
Michael Liao authored
- Turn on atomic6432.ll and add specific test case as well llvm-svn: 164616
-
Bob Wilson authored
llvm-svn: 164611
-
Evan Cheng authored
Fix an illegal tailcall opt where the callee returns a double via xmm while caller returns x86_fp80 via st0. rdar://12229511 llvm-svn: 164588
-
Jim Grosbach authored
Even out-of-line jump tables can be in the code section, so mark them as data-regions for those targets which support the directives. rdar://12362871&12362974 llvm-svn: 164571
-
Chad Rosier authored
Also remove an unused argument. llvm-svn: 164567
-
- Sep 24, 2012
-
-
Chad Rosier authored
llvm-svn: 164548
-
- Sep 22, 2012
-
-
Michael Liao authored
llvm-svn: 164453
-
Michael Liao authored
llvm-svn: 164452
-
Chad Rosier authored
llvm-svn: 164420
-
- Sep 21, 2012
-
-
Chad Rosier authored
llvm-svn: 164415
-
Michael Liao authored
llvm-svn: 164372
-
Michael Liao authored
- Fix PR5145 and turn on test 8-bit atomic ops llvm-svn: 164358
-
Michael Liao authored
- Rewirte most atomic instructions in templates for both better maintenance and future extensions, such as HLE in TSX. llvm-svn: 164357
-
- Sep 20, 2012
-
-
Michael Liao authored
- Rewrite/merge pseudo-atomic instruction emitters to address the following issue: * Reduce one unnecessary load in spin-loop previously the spin-loop looks like thisMBB: newMBB: ld t1 = [bitinstr.addr] op t2 = t1, [bitinstr.val] not t3 = t2 (if Invert) mov EAX = t1 lcs dest = [bitinstr.addr], t3 [EAX is implicit] bz newMBB fallthrough -->nextMBB the 'ld' at the beginning of newMBB should be lift out of the loop as lcs (or CMPXCHG on x86) will load the current memory value into EAX. This loop is refined as: thisMBB: EAX = LOAD [MI.addr] mainMBB: t1 = OP [MI.val], EAX LCMPXCHG [MI.addr], t1, [EAX is implicitly used & defined] JNE mainMBB sinkMBB: * Remove immopc as, so far, all pseudo-atomic instructions has all-register form only, there is no immedidate operand. * Remove unnecessary attributes/modifiers in pseudo-atomic instruction td * Fix issues in PR13458 - Add comprehensive tests on atomic ops on various data types. NOTE: Some of them are turned off due to missing functionality. - Revise tests due to the new spin-loop generated. llvm-svn: 164281
-
- Sep 19, 2012
-
-
Michael Liao authored
- Merge the processing of LOAD_ADD with other atomic load-arith operations - Separate the logic getting target constant for atomic-load-op and add an optimization for atomic-load-add on i16 with negative value - Optimize a minor case for atomic-fetch-add i16 with negative operand. Test case is revised. llvm-svn: 164243
-
Craig Topper authored
Remove code for setting the VEX L-bit as a function of operand size from the code emitters and the disassembler table builder. Fix a couple instructions that were still missing VEX_L. llvm-svn: 164204
-
Craig Topper authored
Add explicit VEX_L tags to all 256-bit instructions. This will allow us to remove code from the code emitters that examined operands to set the L-bit. llvm-svn: 164202
-
- Sep 18, 2012
-
-
Roman Divacky authored
store this and use it to not emit long nops when the CPU is geode which doesnt support them. Fixes PR11212. llvm-svn: 164132
-
Jan Wen Voung authored
While we are setting the earlier def to true, also make it live. llvm-svn: 164056
-