search for: atomicop

Displaying 15 results from an estimated 15 matches for "atomicop".

Did you mean: atomicops
2013 Aug 13
0
[LLVMdev] atomicops.c in test-suite
Is there a reason why variable "test" inside of "main" was made long long ? On 32 bit hosts, this is not going to be available except in a runtime library. Not all libc implementations have such routines. For Mips, only the bleeding edge ones have the runtime routines to do a 64 bit atomic subtract on a 32 bit machine.
2016 Jun 04
4
Gluing arbitrary nodes together
...= DAG.getCopyFromReg(DAG.getEntryNode(), DL, AVR::SREG, MVT::i8); // Disable interrupts (`clr` is equivalent to `bclr 7`). auto ClearInterrupts = DAG.getNode(AVRISD::BCLR, DL, MVT::Glue, DAG.getConstant(7, DL, MVT::i8)); // Perform the nonatomic load. auto *Node = cast<AtomicSDNode>(AtomicOp.getNode()); SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, SDLoc(AtomicOp), AtomicOp.getValueType(), Node->getChain(), Node->getBasePtr(), Node->getMemoryVT(), Node->getMemOperand()); auto Restore = DAG.getCopyToReg(DA...
2013 May 14
2
[LLVMdev] Keeping Clang from changing function calls to IR operations: cmpxchg
I'm working on getting the LLVM/projects/Test-Suite/UnitTest to compile for a target that I am developing. There is an example: AtomicOps, that uses calls to: __sync_fetch_and_add __sync_val_compare_and_swap __sync_lock_test_and_set These get converted into llvm IR operations like: atomicrmw cmpxchg Is there any way to keep these as function calls, as they are easier to map to the target's eventual functional then having to...
2013 May 14
0
[LLVMdev] Keeping Clang from changing function calls to IR operations: cmpxchg
...xpansions at the Clang level: tools/clang/lib/Basic/Targets.cpp On Tue, May 14, 2013 at 3:46 PM, Dan <westdac at gmail.com> wrote: > > I'm working on getting the LLVM/projects/Test-Suite/UnitTest to compile > for a target that I am developing. > > There is an example: AtomicOps, that uses calls to: > > __sync_fetch_and_add > __sync_val_compare_and_swap > __sync_lock_test_and_set > > These get converted into llvm IR operations like: > > atomicrmw > cmpxchg > > Is there any way to keep these as function calls, as they are easier to > map...
2010 Jan 04
1
[LLVMdev] ASM output with JIT / codegen barriers
On Mon, Jan 4, 2010 at 12:20 AM, Owen Anderson <resistor at mac.com> wrote: > > On Jan 3, 2010, at 10:10 PM, James Y Knight wrote: > >> In working on an LLVM backend for SBCL (a lisp compiler), there are >> certain sequences of code that must be atomic with regards to async >> signals. So, for example, on x86, a single SUB on a memory location >> should be
2014 May 04
12
[LLVMdev] [RFC] Benchmarking subset of the test suite
...Source/UnitTests/2008-04-18-LoopBug SingleSource/UnitTests/2008-04-20-LoopBug2 SingleSource/UnitTests/2008-07-13-InlineSetjmp SingleSource/UnitTests/2009-04-16-BitfieldInitialization SingleSource/UnitTests/2009-12-07-StructReturn SingleSource/UnitTests/2010-05-24-BitfieldTest SingleSource/UnitTests/AtomicOps SingleSource/UnitTests/block-byref-cxxobj-test SingleSource/UnitTests/block-byref-test SingleSource/UnitTests/block-call-r7674133 SingleSource/UnitTests/block-copied-in-cxxobj SingleSource/UnitTests/block-copied-in-cxxobj-1 SingleSource/UnitTests/blockstret SingleSource/UnitTests/byval-alignment S...
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...sking for thorough review at this stage. What do people think? Cheers. Tim. -------------- next part -------------- diff --git a/lib/CodeGen/CGAtomic.cpp b/lib/CodeGen/CGAtomic.cpp index cb92f9a..96595df 100644 --- a/lib/CodeGen/CGAtomic.cpp +++ b/lib/CodeGen/CGAtomic.cpp @@ -205,8 +205,9 @@ EmitAtomicOp(CodeGenFunction &CGF, AtomicExpr *E, llvm::Value *Dest, LoadVal1->setAlignment(Align); llvm::LoadInst *LoadVal2 = CGF.Builder.CreateLoad(Val2); LoadVal2->setAlignment(Align); + // FIXME: The failure order needs demoting if it's AcquireRelease or Release. llvm::A...
2012 Feb 19
2
[LLVMdev] Problem While Running Test Suite
...SingleSource/UnitTests/2006-12-07-Compare64BitConstant | * | * | SingleSource/UnitTests/block-copied-in-cxxobj-1 | * | * | SingleSource/UnitTests/2003-08-05-CastFPToUint | * | * | SingleSource/UnitTests/AtomicOps | * | * | SingleSource/UnitTests/2003-05-02-DependentPHI | * | * | SingleSource/UnitTests/2006-12-11-LoadConstants | * | * | SingleSource/UnitTests/2003-05-26-Shorts...
2009 Oct 20
1
[LLVMdev] 2.6 pre-release2 ready for testing
...00 *           0.00 | -       -       n/a          n/a > SingleSource/UnitTests/2009-04-16-BitfieldInitialization                 | > 0.0100 1900     0.0000      *                0.0000      |    0.00 * >  0.00 *           0.01 | n/a     -       n/a          n/a > SingleSource/UnitTests/AtomicOps                                         | > 0.0000 812      0.0000      *                0.0000      |    0.00    0.00 >  0.00 *           0.00 | -       -       n/a          n/a > SingleSource/UnitTests/FloatPrecision                                    | > 0.0000 616      0.0000      ...
2009 Oct 20
0
[LLVMdev] 2.6 pre-release2 ready for testing
Hi Tanya, > 1) Compile llvm from source and untar the llvm-test in the projects > directory (name it llvm-test or test-suite). Choose to use a > pre-compiled llvm-gcc or re-compile it yourself. I compiled llvm and llvm-gcc with separate objects directories. Platform is x86_64-linux-gnu. > 2) Run make check, report any failures (FAIL or unexpected pass). Note > that you need to
2009 Oct 20
1
[LLVMdev] 2.6 pre-release2 ready for testing
...- n/a n/a > SingleSource/UnitTests/2009-04-16- > BitfieldInitialization | 0.0100 1900 0.0000 > * 0.0000 | 0.00 * 0.00 * > 0.01 | n/a - n/a n/a > SingleSource/UnitTests/ > AtomicOps | 0.0000 812 > 0.0000 * 0.0000 | 0.00 0.00 0.00 > * 0.00 | - - n/a n/a > SingleSource/UnitTests/ > FloatPrecision | 0.0000 616 &g...
2009 Oct 17
12
[LLVMdev] 2.6 pre-release2 ready for testing
LLVMers, 2.6 pre-release2 is ready to be tested by the community. http://llvm.org/prereleases/2.6/ If you have time, I'd appreciate anyone who can help test the release. To test llvm-gcc: 1) Compile llvm from source and untar the llvm-test in the projects directory (name it llvm-test or test-suite). Choose to use a pre- compiled llvm-gcc or re-compile it yourself. 2) Run make check,
2009 Feb 07
11
[LLVMdev] 2.5 Pre-release1 available for testing
LLVMers, The 2.5 pre-release is available for testing: http://llvm.org/prereleases/2.5/ If you have time, I'd appreciate anyone who can help test the release. Please do the following: 1) Download/compile llvm source, and either compile llvm-gcc source or use llvm-gcc binary (please compile llvm-gcc with fortran if you can). 2) Run make check, send me the testrun.log 3) Run "make
2014 Jan 28
3
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
Hi Stepan, Sorry for the delay. It's great that you are working on MergeFunctions as well and I agree, we should definitely try to combine our efforts to improve MergeFunctions. Just to give you some context, the pass (with the similar function merging patch) is already being used in a production setting. From my point of view, it would be better if we focus on improving its capability
2014 Jan 30
3
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
...61905 1 0.02 61715 1 0.02 61715 asearch1.ll 1 44616 0 0.01 44590 0 0.01 44590 asearch.ll 2 86459 0 0.02 86433 0 0.02 86433 assem.ll 1 14439 0 0.01 14409 0 0.01 14409 assign.ll 10 62051 0 0.02 62028 0 0.02 62028 atalloc.ll 3 11357 0 0.01 11323 0 0.01 11323 atax.ll 12 23916 0 0.01 23868 0 0.01 23868 AtomicOps.ll 2 5132 0 0.01 5123 0 0.01 5123 atop.ll 1 12901 0 0.01 12874 0 0.01 12874 badidx.ll 2 5030 0 0.01 5018 0 0.01 5018 basicmath.ll 1 27788 0 0.01 27750 0 0.01 27750 Bcj2Coder.ll 29 231916 0 0.03 231882 0 0.03 231882 Bcj2Register.ll 3 8684 0 0.01 8650 0 0.01 8650 BcjCoder.ll 10 12616 2 0.01 12616 0...