summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LowerAtomic.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Clean whitespaces.Nadav Rotem2012-07-241-2/+2
| | | | llvm-svn: 160668
* Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.hChandler Carruth2012-06-291-1/+1
| | | | | | | | | | | | | | | | | This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move. I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so. I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg. Thanks to Bill and Eric for giving the green light for this bit of cleanup. llvm-svn: 159421
* Remove the old atomic instrinsics. autoupgrade functionality is included ↵Eli Friedman2011-10-061-98/+1
| | | | | | with this patch. llvm-svn: 141333
* Make a bunch of symbols private.Benjamin Kramer2011-08-191-2/+2
| | | | llvm-svn: 138025
* Representation of 'atomic load' and 'atomic store' in IR.Eli Friedman2011-08-091-0/+17
| | | | llvm-svn: 137170
* Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to beEli Friedman2011-07-291-0/+74
| | | | | | | | | working on x86 (at least for trivial testcases); other architectures will need more work so that they actually emit the appropriate instructions for orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC, Mips, and Alpha backends need such changes.) llvm-svn: 136457
* Fix a use after free. An instruction can't be both an intrinsic call and a ↵Benjamin Kramer2011-07-281-1/+1
| | | | | | fence. llvm-svn: 136319
* Misc mid-level changes for new 'fence' instruction.Eli Friedman2011-07-271-2/+11
| | | | llvm-svn: 136205
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-191-1/+3
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
| | | | llvm-svn: 115996
* more cleanupsChris Lattner2010-09-051-52/+38
| | | | llvm-svn: 113115
* Change lower atomic pass to use IntrinsicInst to simplify it a bit.Chris Lattner2010-09-051-37/+27
| | | | llvm-svn: 113114
* Now that PassInfo and Pass::ID have been separated, move the rest of the ↵Owen Anderson2010-08-231-2/+3
| | | | | | passes over to the new registration API. llvm-svn: 111815
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Fix uninitialized variable warning.Nick Lewycky2010-08-061-2/+2
| | | | | | | | Also move 'default' case next to a real case to help compiler optimize in non-Debug builds. No functionality change. llvm-svn: 110435
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Add an atomic lowering passPeter Collingbourne2010-08-031-0/+160
llvm-svn: 110113
OpenPOWER on IntegriCloud