- Jan 14, 2014
-
-
David Majnemer authored
MSVC defines size_t without any explicit declarations. This change allows us to be compatible with TUs that depend on this declaration appearing from nowhere. llvm-svn: 199190
-
Jakob Stoklund Olesen authored
llvm-svn: 199189
-
Jakob Stoklund Olesen authored
Pad these structs up so they are sret-returned even on that architecture. llvm-svn: 199188
-
Jakob Stoklund Olesen authored
When creating a virtual register for a def, the value type should be used to pick the register class. If we only use the register class constraint on the instruction, we might pick a too large register class. Some registers can store values of different sizes. For example, the x86 xmm registers can hold f32, f64, and 128-bit vectors. The three different value sizes are represented by register classes with identical register sets: FR32, FR64, and VR128. These register classes have different spill slot sizes, so it is important to use the right one. The register class constraint on an instruction doesn't necessarily care about the size of the value its defining. The value type determines that. This fixes a problem where InstrEmitter was picking 32-bit register classes for 64-bit values on SPARC. llvm-svn: 199187
-
Jakob Stoklund Olesen authored
The already allocatable DPair superclass contains odd-even D register pair in addition to the even-odd pairs in the QPR register class. There is no reason to constrain the set of D register pairs that can be used for NEON values. Any NEON instructions that require a Q register will automatically constrain the register class to QPR. The allocation order for DPair begins with the QPR registers, so register allocation is unlikely to change much. llvm-svn: 199186
-
Chandler Carruth authored
llvm-svn: 199185
-
Marshall Clow authored
Rename libc++ internal templates __is_void, __is_integral, __is_floating_point, __is_pointer, __is_function_imp, __is_function, __is_member_function_pointer, __is_member_pointer, __is_signed_impl, __is_signed, __is_unsigned_impl, __is_unsigned to __libcpp_is_XXX, because some compilers have decided that __is_XXX are keywords. No functionality change. llvm-svn: 199184
-
Chandler Carruth authored
llvm-svn: 199183
-
Chandler Carruth authored
requires Clang 3.1 or GCC 4.7. If the compiler isn't Clang or GCC, we don't try to do any sanity checking, but this give us at least a reasonable baseline of modern compilers. Also, I'm not claiming that this is the best way to do compiler version tests. I'm happy for anyone to suggest better ways of doing this test. llvm-svn: 199182
-
Rafael Espindola authored
This matches what gnu as does and implementing this is easier than arguing about it. llvm-svn: 199181
-
Mark Seaborn authored
We need to ensure that StackSlotColoring.cpp does not reuse stack spill slots in functions that call "returns_twice" functions such as setjmp(), otherwise this can lead to miscompiled code, because a stack slot would be clobbered when it's still live. This was already handled correctly for functions that call setjmp() (though this wasn't covered by a test), but not for functions that invoke setjmp(). We fix this by changing callsFunctionThatReturnsTwice() to check for invoke instructions. This fixes PR18244. llvm-svn: 199180
-
Chandler Carruth authored
Also, so is stacker, llvm-tv, etc. Wow. But will someone please fess up to what projects/privbracket is and why our autoconf build supports it? llvm-svn: 199179
-
Chandler Carruth authored
llvm-svn: 199178
-
Richard Smith authored
llvm-svn: 199177
-
Bob Wilson authored
llvm-svn: 199176
-
Aaron Ballman authored
Removing some attribute magic related to the OpenCL keyword attributes. Instead of mapping them to their semantics as a custom part of the parser, they instead map declaratively through the rest of the attribute system. llvm-svn: 199175
-
Rafael Espindola authored
This will allow it to be called from target independent parts of the main streamer that don't know if there is a registered target streamer or not. This in turn will allow targets to perform extra actions at specified points in the interface: add extra flags for some labels, extra work during finalization, etc. llvm-svn: 199174
-
Sean Callanan authored
don't know their bit alignment. llvm-svn: 199173
-
Warren Hunt authored
This patch makes a small behavioral change to the interaction between pack and alignment. Specifically it makes __declspec(align()) on a field change that field's alignment without respect to pack but the alignment change to the record alignment as a whole still obeys pack. llvm-svn: 199172
-
Reid Kleckner authored
Record layout will tell us the offset of a shared vbptr inside a non-virtual base. No functionality change. llvm-svn: 199171
-
Rui Ueyama authored
llvm-svn: 199170
-
DeLesley Hutchins authored
consumable objects. These are useful for implementing error codes that must be checked. Patch also includes some significant refactoring, which was necesary to implement the new behavior. llvm-svn: 199169
-
Warren Hunt authored
Although VBPtrs were being placed correctly by the ms-abi layout engine, their offsets were being improperly reported to the ASTRecordLayout builder due to a bug. This patch fixes that and fixes the test cases to use the correct values. y llvm-svn: 199168
-
Rui Ueyama authored
llvm-svn: 199167
-
Rui Ueyama authored
llvm-svn: 199166
-
Rui Ueyama authored
llvm-svn: 199165
-
Rui Ueyama authored
llvm-svn: 199164
-
Rui Ueyama authored
llvm-svn: 199163
-
Duncan P. N. Exon Smith authored
llvm-svn: 199162
-
Rui Ueyama authored
llvm-svn: 199161
-
- Jan 13, 2014
-
-
Reid Kleckner authored
Fixes PR18435, where we generated a base ctor instead of a complete ctor, and so failed to construct virtual bases when constructing the complete object. llvm-svn: 199160
-
Rui Ueyama authored
llvm-svn: 199159
-
Cameron McInally authored
llvm-svn: 199158
-
Tobias Grosser authored
llvm-svn: 199157
-
Rui Ueyama authored
llvm-svn: 199156
-
Joey Gouly authored
llvm-svn: 199155
-
Warren Hunt authored
This patch moves the check for pragma pack until after the application of __declspec align to before pragma pack. This causes observable changes in the use of tail padding for bases. A test case is included. llvm-svn: 199154
-
Hans Wennborg authored
For example, don't fall back in /P (preprocess) mode. llvm-svn: 199153
-
Chandler Carruth authored
so bump the minimum version in the standalone Clang CMake project as well. As I mentioned on the LLVM commit version of this, if this causes any trouble for folks, just let me know. I'm trying to avoid re-implementing functionality in CMake, but I will if there are problems using the newer versions. llvm-svn: 199152
-
Aaron Ballman authored
llvm-svn: 199151
-