- Feb 26, 2014
-
-
Duncan P. N. Exon Smith authored
Prevent a crash in the SmallDenseMap copy constructor whenever the other map is not in small mode. <rdar://problem/14292693> llvm-svn: 202206
-
rdar://problem/15593026Enrico Granata authored
Fix the algorithm used to detect a loop in a std::list llvm-svn: 202205
-
Rafael Espindola authored
Eventually DataLayoutPass should go away, but for now that is the only easy way to get a DataLayout in some APIs. This patch only changes the ones that have easy access to a Module. One interesting issue with sometimes using DataLayoutPass and sometimes fetching it from the Module is that we have to make sure they are equivalent. We can get most of the way there by always constructing the pass with a Module. In fact, the pass could be changed to point to an external DataLayout instead of owning one to make this stricter. Unfortunately, the C api passes a DataLayout, so it has to be up to the caller to make sure the pass and the module are in sync. llvm-svn: 202204
-
Marshall Clow authored
llvm-svn: 202203
-
Adrian Prantl authored
llvm-svn: 202202
-
- Feb 25, 2014
-
-
David Blaikie authored
llvm-svn: 202201
-
Ted Kremenek authored
llvm-svn: 202200
-
Adrian Prantl authored
This is refactoring / simplifying code, updating comments and enabling the testcase on non-x86 platforms. No functionality change. llvm-svn: 202199
-
Rafael Espindola authored
No tool does this currently, but as everything else in a module we should be able to change its DataLayout. Most of the fix is in DataLayout to make sure it can be reset properly. The test uses Module::setDataLayout since the fact that we mutate a DataLayout is an implementation detail. The module could hold a OwningPtr<DataLayout> and the DataLayout itself could be immutable. Thanks to Philip Reames for pushing me in the right direction. llvm-svn: 202198
-
Alp Toker authored
llvm-svn: 202197
-
Chandler Carruth authored
their inputs come from std::stable_sort and they are not total orders. I'm not a huge fan of this, but the really bad std::stable_sort is right at the beginning of Reassociate. After we commit to stable-sort based consistent respect of source order, the downstream sorts shouldn't undo that unless they have a total order or they are used in an order-insensitive way. Neither appears to be true for these cases. I don't have particularly good test cases, but this jumped out by inspection when looking for output instability in this pass due to changes in the ordering of std::sort. llvm-svn: 202196
-
Tom Stellard authored
This causes the size of the scrypt kernel to explode and eats all the memory on some systems. llvm-svn: 202195
-
Tom Stellard authored
llvm-svn: 202194
-
Chandler Carruth authored
implemented this way a long time ago and due to the overwhelming bugs that surfaced, moved to a much more relaxed variant. Richard Smith would like to understand the magnitude of this problem and it seems fairly harmless to keep some flag-controlled logic to get the extremely strict behavior here. I'll remove it if it doesn't prove useful. llvm-svn: 202193
-
Hal Finkel authored
We need to abort the formation of counter-register-based loops where there are 128-bit integer operations that might become function calls. llvm-svn: 202192
-
Rafael Espindola authored
llvm-svn: 202191
-
Rafael Espindola authored
Now that DataLayout is not a pass, store one in Module. Since the C API expects to be able to get a char* to the datalayout description, we have to keep a std::string somewhere. This patch keeps it in Module and also uses it to represent modules without a DataLayout. Once DataLayout is mandatory, we should probably move the string to DataLayout itself since it won't be necessary anymore to represent the special case of a module without a DataLayout. llvm-svn: 202190
-
Jim Ingham authored
Also fix the bug where lldb prints: "Got a connection and launched debugserver" rather than the name of the process it actually launched. llvm-svn: 202189
-
Adrian Prantl authored
Variadic functions have an unspecified parameter tag after the last argument. In IR this is represented as an unspecified parameter in the subroutine type. Paired commit with CFE r202185. rdar://problem/13690847 This re-applies r202184 + a bugfix in DwarfDebug's argument handling. llvm-svn: 202188
-
Adrian Prantl authored
This reverts commit r202184 because of buildbot breakage. llvm-svn: 202187
-
Manman Ren authored
llvm-svn: 202186
-
Adrian Prantl authored
Paired commit with LLVM. rdar://problem/13690847 llvm-svn: 202185
-
Adrian Prantl authored
Variadic functions have an unspecified parameter tag after the last argument. In IR this is represented as an unspecified parameter in the subroutine type. Paired commit with CFE. rdar://problem/13690847 llvm-svn: 202184
-
Rafael Espindola authored
llvm-svn: 202183
-
Ted Kremenek authored
llvm-svn: 202182
-
Benjamin Kramer authored
llvm-svn: 202181
-
Enrico Granata authored
<rdar://problem/16115219> llvm-svn: 202180
-
Roman Divacky authored
llvm-svn: 202179
-
Hans Wennborg authored
Generating RTTI in the MS ABI is currently not supported, and the failures are confusing to users, so let's disable it by default for now. llvm-svn: 202178
-
Roman Divacky authored
-march which doesnt exist on sparc gcc to -mcpu. While here adjust a few tests to not write an unused temporary file. llvm-svn: 202177
-
Ben Langmuir authored
Reads the description of a virtual filesystem from a file and overlays it over the real file system. llvm-svn: 202176
-
Reid Kleckner authored
This was changed to use manual desugaring and multiplication in r201832 and fixed for multi-dimensional arrays in r201917. However, it breaks down in the presence of typedefs. Rather than attempting to handle all the desugaring, just go back to calling the generic type info code. This was discovered while compiling SIInstrWaits.cpp in the R600 backend. llvm-svn: 202175
-
Benjamin Kramer authored
There were many additional tests that had the bad behavior baked in. llvm-svn: 202174
-
Rafael Espindola authored
This reverts commit r202167. It broke Analysis/auto-obj-dtors-cfg-output.cpp llvm-svn: 202173
-
Richard Osborne authored
llvm-svn: 202172
-
Richard Osborne authored
llvm-svn: 202171
-
Rafael Espindola authored
llvm-svn: 202170
-
Rafael Espindola authored
Instead, have a DataLayoutPass that holds one. This will allow parts of LLVM don't don't handle passes to also use DataLayout. llvm-svn: 202168
-
Benjamin Kramer authored
- Don't emit anything when we encounter a call to a conversion operator. "bar(a & b)" instead of "bar(a & b.operator int())" This preserves the semantics and is still idempotent if we print the AST multiple times. - Properly print declarations of conversion operators. "explicit operator bool();" instead of "bool operator _Bool();" PR18776. llvm-svn: 202167
-
Shankar Easwaran authored
llvm-svn: 202166
-