- Jan 10, 2012
-
-
Kevin Enderby authored
assembly source when it generates the TAG_subprogram dwarf debug info for the labels that have nothing between them as in this bit of assembly source: % cat ZeroLength.s _func1: _func2: nop One solution would be to not emit the subsequent labels with the same address and use the next label with a different address or the end of the section for the AT_high_pc value of the TAG_subprogram. Turns out in llvm-mc it is not possible in all cases to determine of two symbols have the same value at the point we put out the TAG_subprogram dwarf debug info. So we will have llvm-mc instead of putting out TAG_subprogram's put out DW_TAG_label's. And the DW_TAG_label does not have a AT_high_pc value which avoids the problem. This commit is only the functional change to make the diffs clear as to what is really being changed. The next commit will be to clean up the names of such things like MCGenDwarfSubprogramEntry to something like MCGenDwarfLabelEntry. rdar://10666925 llvm-svn: 147860
-
Devang Patel authored
Right now, this just adds additional entries in match table. The parser does not use them yet. llvm-svn: 147859
-
Devang Patel authored
llvm-svn: 147858
-
Joerg Sonnenberger authored
passing on i386 and does not use registers. llvm-svn: 147856
-
David Blaikie authored
llvm-svn: 147855
-
Ted Kremenek authored
llvm-svn: 147854
-
-
Nadav Rotem authored
Fix a bug in the legalization of shuffle vectors. When we emulate shuffles using BUILD_VECTORS we may be using a BV of different type. Make sure to cast it back. llvm-svn: 147851
-
Benjamin Kramer authored
llvm-svn: 147849
-
Benjamin Kramer authored
llvm-svn: 147848
-
Benjamin Kramer authored
llvm-svn: 147847
-
Benjamin Kramer authored
llvm-svn: 147846
-
Bill Wendling authored
CFStrings writable. The strings (both Unicode and ASCII) should reside in a read-only section. E.g., __TEXT,__cstring instead of __DATA,__data. This is done by making the global variable created for the strings constant despite the value of that flag. <rdar://problem/10657500> llvm-svn: 147845
-
Craig Topper authored
Fix a crash in AVX2 when trying to broadcast a double into a 128-bit vector. There is no vbroadcastsd xmm, but we do need to support 64-bit integers broadcasted into xmm. Also factor the AVX check into the isVectorBroadcast function. This makes more sense since the AVX2 check was already inside. llvm-svn: 147844
-
Craig Topper authored
Remove hasXMM/hasXMMInt functions. Move callers to hasSSE1/hasSSE2. This is the final piece to remove the AVX hack that disabled SSE. llvm-svn: 147843
-
Craig Topper authored
Remove hasSSE*orAVX functions and change all callers to use just hasSSE*. AVX is now an SSE level and no longer disables SSE checks. llvm-svn: 147842
-
Craig Topper authored
Instruction selection priority fixes to remove the XMM/XMMInt/orAVX predicates. Another commit will remove orAVX functions from X86SubTarget. llvm-svn: 147841
-
Eli Friedman authored
Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.) llvm-svn: 147840
-
Richard Smith authored
constructors. These are a special case whose behavior cannot be modeled as a user-written constructor. llvm-svn: 147839
-
Jim Ingham authored
As we are grubbing through memory chasing down the hierarchy of an ObjC object, protect against the possibility that that object might be just random memory with loops. llvm-svn: 147838
-
Eli Friedman authored
Per John's comment, it makes sense to ask isLambda on any CXXRecordDecl; make sure that's safe. Get rid of a check which is now unnecessary in Sema::getFunctionLevelDeclContext(). llvm-svn: 147837
-
Greg Clayton authored
to fix the issues we run into on darwin even though the docs don't seems to say it will. llvm-svn: 147835
-
Greg Clayton authored
llvm-svn: 147834
-
Argyrios Kyrtzidis authored
llvm-svn: 147830
-
Jim Ingham authored
when you already know that the address is contained in a bona fide function. This can be a slow call. llvm-svn: 147829
-
Johnny Chen authored
Also add test cases to the test suite to exercise displaying of variables captured inside a block (Darwin-only). llvm-svn: 147828
-
Evan Cheng authored
define physical registers. It's currently very restrictive, only catching cases where the CE is in an immediate (and only) predecessor. But it catches a surprising large number of cases. rdar://10660865 llvm-svn: 147827
-
Andrew Trick authored
These heuristics are sufficient for enabling IV chains by default. Performance analysis has been done for i386, x86_64, and thumbv7. The optimization is rarely important, but can significantly speed up certain cases by eliminating spill code within the loop. Unrolled loops are prime candidates for IV chains. In many cases, the final code could still be improved with more target specific optimization following LSR. The goal of this feature is for LSR to make the best choice of induction variables. Instruction selection may not completely take advantage of this feature yet. As a result, there could be cases of slight code size increase. Code size can be worse on x86 because it doesn't support postincrement addressing. In fact, when chains are formed, you may see redundant address plus stride addition in the addressing mode. GenerateIVChains tries to compensate for the common cases. On ARM, code size increase can be mitigated by using postincrement addressing, but downstream codegen currently misses some opportunities. llvm-svn: 147826
-
Jakob Stoklund Olesen authored
On Thumb, the displacement computation hardware uses the address of the current instruction rouned down to a multiple of 4. Include this rounding in the UserOffset we compute for each instruction. When inline asm is present, the instruction alignment may not be known. Constrain the maximum displacement instead in that case. This makes it possible for CreateNewWater() and OffsetIsInRange() to agree about the valid displacements. When they disagree, infinite looping happens. As always, test cases for this stuff are insane. <rdar://problem/10660175> llvm-svn: 147825
-
Richard Smith authored
- reject definitions of enums within friend declarations - require 'enum', not 'enum class', for non-declaring references to scoped enumerations llvm-svn: 147824
-
Johnny Chen authored
llvm-svn: 147823
-
Johnny Chen authored
Add a CFLAGS_EXTRAS make variable to be able to pass things (like '-DTEST_BLOCK_CAPTURED_VARS') to the compile phase. Plus add a DYLIB_ONLY make variable that can be used to turn off compilation/building of a.out. Example: [16:39:21] johnny:/Volumes/data/lldb/svn/trunk/test/lang/c/global_variables $ make clean rm -rf "a.out" "a.out.dSYM" main.o main.d a.o a.d liba.dylib liba.dylib.dSYM [16:39:24] johnny:/Volumes/data/lldb/svn/trunk/test/lang/c/global_variables $ make DYLIB_ONLY=YES clang -gdwarf-2 -O0 -arch x86_64 -c -o a.o a.c clang -gdwarf-2 -O0 -arch x86_64 a.o -install_name "@executable_path/liba.dylib" -dynamiclib -o "liba.dylib" [16:39:30] johnny:/Volumes/data/lldb/svn/trunk/test/lang/c/global_variables $ llvm-svn: 147821
-
Rafael Espindola authored
llvm-svn: 147820
-
Eric Christopher authored
source file. Otherwise -g -save-temps will error out on the compile of any .c file. Fixes about 4000 of the errors in the clang-tests gdb test suite. llvm-svn: 147819
-
Eric Christopher authored
llvm-svn: 147818
-
Fariborz Jahanian authored
c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845 llvm-svn: 147817
-
Greg Clayton authored
functions that can create file descriptors and close them. It will warn when there close file descriptor call that returns with EBADF and show the corresponding stack backtraces that caused the issue. It will also log all file descriptor create and delete calls. See the comments at the top of FDInterposing.cpp for all of the details. llvm-svn: 147816
-
Greg Clayton authored
in the module when dumping the information in addition to all info that we were previously showing. llvm-svn: 147815
-
Greg Clayton authored
the linker driver is found. llvm-svn: 147814
-
Greg Clayton authored
takes to open and index BSD archives. llvm-svn: 147813
-