#
2ad8df24 |
| 25-Nov-2012 |
Joe Abbey <jabbey@arxan.com> |
Code Custodian: - Widespread trailing space removal - A dash of OCD spacing to block align enums - joined a line that probably needed 80 cols a while back
llvm-svn: 168566
|
#
26ee2b84 |
| 15-Nov-2012 |
Michael Ilseman <milseman@apple.com> |
Remove trailing whitespace
llvm-svn: 168103
|
Revision tags: llvmorg-3.2.0-rc1 |
|
#
8c9e9411 |
| 11-Oct-2012 |
Jan Wen Voung <jvoung@google.com> |
Fix some typos 165739, spotted by Duncan.
llvm-svn: 165753
|
#
afaced07 |
| 11-Oct-2012 |
Jan Wen Voung <jvoung@google.com> |
Change encoding of instruction operands in bitcode binaries to be relative to the instruction position. The old encoding would give an absolute ID which counts up within a function, and only resets
Change encoding of instruction operands in bitcode binaries to be relative to the instruction position. The old encoding would give an absolute ID which counts up within a function, and only resets at the next function.
I.e., Instead of having:
... = icmp eq i32 n-1, n-2 br i1 ..., label %bb1, label %bb2
it will now be roughly:
... = icmp eq i32 1, 2 br i1 1, label %bb1, label %bb2
This makes it so that ids remain relatively small and can be encoded in fewer bits.
With this encoding, forward reference operands will be given negative-valued IDs. Use signed VBRs for the most common case of forward references, which is phi instructions.
To retain backward compatibility we bump the bitcode version from 0 to 1 to distinguish between the different encodings.
llvm-svn: 165739
show more ...
|
#
e51b9497 |
| 25-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Move remaining methods inside the Attributes class. Merge the 'Attribute' namespaces.
llvm-svn: 164631
|
#
18fcdcfb |
| 05-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add support for the nsdialect keyword in the Bitcode Reader/Writer.
llvm-svn: 163185
|
#
34bc34ec |
| 17-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to make it more consistent with its intended semantics.
The `linker_private_weak_def_auto' linkage type was meant to aut
Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to make it more consistent with its intended semantics.
The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things.
The intended semantic is more like the `linkonce_odr' linkage type.
Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker.
Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934>
llvm-svn: 162114
show more ...
|
#
cbe34b4c |
| 23-Jun-2012 |
Hans Wennborg <hans@hanshq.net> |
Extend the IL for selecting TLS models (PR9788)
This allows the user/front-end to specify a model that is better than what LLVM would choose by default. For example, a variable might be declared as
Extend the IL for selecting TLS models (PR9788)
This allows the user/front-end to specify a model that is better than what LLVM would choose by default. For example, a variable might be declared as
@x = thread_local(initialexec) global i32 42
if it will not be used in a shared library that is dlopen'ed.
If the specified model isn't supported by the target, or if LLVM can make a better choice, a different model may be used.
llvm-svn: 159077
show more ...
|
#
8e00efea |
| 23-Jun-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Optimized usage of new SwitchInst case values (IntegersSubset type) in Local.cpp, Execution.cpp and BitcodeWriter.cpp. I got about 1% of compile-time improvement on my machines (Ubuntu 11.10 i386 and
Optimized usage of new SwitchInst case values (IntegersSubset type) in Local.cpp, Execution.cpp and BitcodeWriter.cpp. I got about 1% of compile-time improvement on my machines (Ubuntu 11.10 i386 and Ubuntu 12.04 x64).
llvm-svn: 159076
show more ...
|
#
0e46d8a0 |
| 02-Jun-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
PR1255: case ranges. IntRange converted from struct to class. So main change everywhere is replacement of ".Low/High" with ".getLow/getHigh()"
llvm-svn: 157884
|
#
58107dd5 |
| 29-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
ConstantRangesSet renamed to IntegersSubset. CRSBuilder renamed to IntegersSubsetMapping.
llvm-svn: 157612
|
#
e17b69a3 |
| 28-May-2012 |
Meador Inge <meadori@gmail.com> |
PR12696: Attribute bits above 1<<30 are not encoded in bitcode
Attribute bits above 1<<30 are now encoded correctly. Additionally, the encoding/decoding functionality has been hoisted to helper fun
PR12696: Attribute bits above 1<<30 are not encoded in bitcode
Attribute bits above 1<<30 are now encoded correctly. Additionally, the encoding/decoding functionality has been hoisted to helper functions in Attributes.h in an effort to help the encoding/decoding to stay in sync with the Attribute bitcode definitions.
llvm-svn: 157581
show more ...
|
#
e3e19cbb |
| 28-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
PR1255: Case Ranges Implemented IntItem - the wrapper around APInt. Why not to use APInt item directly right now? 1. It will very difficult to implement case ranges as series of small patches. We got
PR1255: Case Ranges Implemented IntItem - the wrapper around APInt. Why not to use APInt item directly right now? 1. It will very difficult to implement case ranges as series of small patches. We got several large and heavy patches. Each patch will about 90-120 kb. If you replace ConstantInt with APInt in SwitchInst you will need to changes at the same time all Readers,Writers and absolutely all passes that uses SwitchInst. 2. We can implement APInt pool inside and save memory space. E.g. we use several switches that works with 256 bit items (switch on signatures, or strings). We can avoid value duplicates in this case. 3. IntItem can be easyly easily replaced with APInt. 4. Currenly we can interpret IntItem both as ConstantInt and as APInt. It allows to provide SwitchInst methods that works with ConstantInt for non-updated passes.
Why I need it right now? Currently I need to update SimplifyCFG pass (EqualityComparisons). I need to work with APInts directly a lot, so peaces of code ConstantInt *V = ...; if (V->getValue().ugt(AnotherV->getValue()) { ... } will look awful. Much more better this way: IntItem V = ConstantIntVal->getValue(); if (AnotherV < V) { }
Of course any reviews are welcome.
P.S.: I'm also going to rename ConstantRangesSet to IntegersSubset, and CRSBuilder to IntegersSubsetMapping (allows to map individual subsets of integers to the BasicBlocks). Since in future these classes will founded on APInt, it will possible to use them in more generic ways.
llvm-svn: 157576
show more ...
|
#
3dea4218 |
| 14-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
SwitchInst cosmetics: renamed "Hash" method to "hash"
llvm-svn: 156757
|
Revision tags: llvmorg-3.1.0 |
|
#
0beab5e1 |
| 12-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Recommited r156374 with critical fixes in BitcodeReader/Writer: Ordinary patch for PR1255. Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases wil
Recommited r156374 with critical fixes in BitcodeReader/Writer: Ordinary patch for PR1255. Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object. Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported.
llvm-svn: 156704
show more ...
|
Revision tags: llvmorg-3.1.0-rc3 |
|
#
5eafce5c |
| 08-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Rejected r156374: Ordinary PR1255 patch. Due to clang-x86_64-debian-fnt buildbot failure.
llvm-svn: 156377
|
#
b6a46401 |
| 08-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Ordinary patch for PR1255. Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of Constan
Ordinary patch for PR1255. Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object. Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported.
llvm-svn: 156374
show more ...
|
Revision tags: llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
97b02fc1 |
| 11-Mar-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators.
llvm-svn: 152532
|
#
5b648afb |
| 08-Mar-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html
Implemented CaseIterator and it solves almost
Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html
Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*".
ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value.
Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters.
Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow
for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. }
If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method.
There are also related changes in llvm-clients: klee and clang.
llvm-svn: 152297
show more ...
|
#
42fcf81a |
| 29-Feb-2012 |
Daniel Dunbar <daniel@zuster.org> |
BitstreamWriter: Change primary output buffer to be a SmallVector instead of an std::vector. - Good for 1-2% speedup on writing PCH for Cocoa.h. - Clang side API match to follow shortly, there wasn
BitstreamWriter: Change primary output buffer to be a SmallVector instead of an std::vector. - Good for 1-2% speedup on writing PCH for Cocoa.h. - Clang side API match to follow shortly, there wasn't an easy way to make this non-breaking.
llvm-svn: 151750
show more ...
|
#
6e45c02c |
| 29-Feb-2012 |
Daniel Dunbar <daniel@zuster.org> |
BitcodeWriter: Expose less implementation details -- make BackpatchWord private and remove getBuffer().
llvm-svn: 151748
|
#
5fa5ecf8 |
| 29-Feb-2012 |
Daniel Dunbar <daniel@zuster.org> |
Bitcode: Don't expose WriteBitcodeToStream to clients.
llvm-svn: 151747
|
#
8b2dcad4 |
| 06-Feb-2012 |
Derek Schuff <dschuff@google.com> |
Enable streaming of bitcode
This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download.
llvm-svn: 149918
|
#
7c49a0e9 |
| 06-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
[unwind removal] Don't write out the dead 'unwind' instruction.
llvm-svn: 149905
|
#
cf9e8f69 |
| 05-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
reapply the patches reverted in r149470 that reenable ConstantDataArray, but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code w
reapply the patches reverted in r149470 that reenable ConstantDataArray, but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch.
llvm-svn: 149800
show more ...
|