- Jun 17, 2015
-
-
Chandler Carruth authored
This is now living in MemoryLocation, which is what it pertains to. It is also an enum there rather than a static data member which is left never defined. llvm-svn: 239886
-
Chandler Carruth authored
that it is its own entity in the form of MemoryLocation, and update all the callers. This is an entirely mechanical change. References to "Location" within AA subclases become "MemoryLocation", and elsewhere "AliasAnalysis::Location" becomes "MemoryLocation". Hope that helps out-of-tree folks update. llvm-svn: 239885
-
Chandler Carruth authored
virtual interface on AliasAnalysis only deals with ModRef information. This interface was both computing memory locations by using TLI and other tricks to estimate the size of memory referenced by an operand, and computing ModRef information through similar investigations. This change narrows the scope of the virtual interface on AliasAnalysis slightly. Note that all of this code could live in BasicAA, and be done with a single investigation of the argument, if it weren't for the fact that the generic code in AliasAnalysis::getModRefBehavior for a callsite calls into the virtual aspect of (now) getArgModRefInfo. But this patch's arrangement seems a not terrible way to go for now. The other interesting wrinkle is how we could reasonably extend LLVM with support for custom memory location sizes and mod/ref behavior for library routines. After discussions with Hal on the review, the conclusion is that this would be best done by fleshing out the much desired support for extensions to TLI, and support these types of queries in that interface where we would likely be doing other library API recognition and analysis. Differential Revision: http://reviews.llvm.org/D10259 llvm-svn: 239884
-
Eric Christopher authored
This involved removing the conditional inclusion and replacing them with target attributes matching the original conditional inclusion and checks. The testcase update removes the macro checks for each file and replaces them with usage of the __target__ attribute, e.g.: int __attribute__((__target__(("sse3")))) foo(int a) { _mm_mwait(0, 0); return 4; } This usage does require the enclosing function have the requisite __target__ attribute for inlining and code generation - also for any macro intrinsic uses in the enclosing function. There's no change for existing uses of the intrinsic headers. llvm-svn: 239883
-
Eric Christopher authored
This is a precursor to changing them to use the new target attribute code. llvm-svn: 239882
-
Alexey Bataev authored
The following code is generated for reduction clause within 'omp simd' loop construct: #pragma omp simd reduction(op:var) for (...) <body> alloca priv_var priv_var = <initial reduction value>; <loop_start>: <body> // references to original 'var' are replaced by 'priv_var' <loop_end>: var op= priv_var; llvm-svn: 239881
-
Matthias Braun authored
The patch triggers a miscompile on SPEC 2006 403.gcc with the (ref) 200.i and scilab.i inputs. I opened PR23866 to track analysis of this. This reverts commit r238793. llvm-svn: 239880
-
Saleem Abdulrasool authored
Address post-commit commit about the wording of the warning. llvm-svn: 239879
-
Saleem Abdulrasool authored
Separate two class definitions that had been merged into a single line. NFC. llvm-svn: 239878
-
Rafael Espindola authored
llvm-svn: 239877
-
Colin LeMahieu authored
[Hexagon] Adding MC ELF streamer and updating addend relocation test which shows correct ELF symbol. llvm-svn: 239876
-
Sean Silva authored
This matches the patterns for vim swap files in llvm/.gitignore llvm-svn: 239875
-
Enrico Granata authored
llvm-svn: 239874
-
Enrico Granata authored
Because vector types use their formats in special ways (i.e. children get generated based on them), this change by itself would cause a regression in printing vector types with some custom formats Work around that issue by special casing vector types out of this format-passdown mode. I believe there is a more general feature to be designed in this space, but until I see more cases of interest, I am going to leave this as a special case Fixes rdar://20810062 llvm-svn: 239873
-
James Y Knight authored
Adds static_asserts to ensure alignment of concatenated objects is correct, and fixes them where they are not. Also changes the definition of AlignOf to use constexpr, except on MSVC, to avoid enum comparison warnings from GCC. (There's not too much of this in llvm itself, most of the fun is in clang). This seems to make LLVM actually work without Bus Error on 32bit sparc. Differential Revision: http://reviews.llvm.org/D10271 llvm-svn: 239872
-
Rafael Espindola authored
Without this the included unit test would assert in assert(BasicBlockFwdRefs.empty() && "Unresolved blockaddress fwd references"); llvm-svn: 239871
-
Rafael Espindola authored
This just handles both cases in the same place. Extracted from a patch by Karl Schimpf. llvm-svn: 239870
-
Rui Ueyama authored
DLL files are in the same format as executables but they have export tables. The format of the export table is described in PE/COFF spec section 5.3. A new class, EdataContents, takes care of creating chunks for export tables. What we need to do is to parse command line flags for dllexports, and then instantiate the class to create chunks. For the writer, export table chunks are opaque data -- it just add chunks to .edata section. llvm-svn: 239869
-
Rui Ueyama authored
I was accidentally testing not -flavor link2 but -flavor link. llvm-svn: 239868
-
Rafael Espindola authored
We were already deleting it, this just makes it explicit. llvm-svn: 239867
-
Rafael Espindola authored
Different object formats represent references from dwarf in different ways. ELF uses a relocation to the referenced point (except for .dwo) and COFF/MachO use the offset of the referenced point inside its section. This patch renames emitSectionOffset because * It doesn't produce an offset on ELF. * It changes behavior depending on how DWARF is represented, so adding dwarf to its name is probably a good thing. The patch also adds an option to force the use of offsets.That avoids funny looking code like if (!UseOffsets) Asm->emitSectionOffset.... It was correct, but read as if the ! was inverted. llvm-svn: 239866
-
Enrico Granata authored
llvm-svn: 239865
-
Rui Ueyama authored
llvm-svn: 239864
-
Greg Clayton authored
llvm-svn: 239863
-
Tyler Nowicki authored
Moved RecurrenceInstDesc into RecurrenceDescriptor to simplify the namespaces. llvm-svn: 239862
-
Dawn Perchik authored
llvm-svn: 239861
-
Sanjay Patel authored
These were originally added in r227242, but that patch was reverted because it caused a failure on AArch64. llvm-svn: 239860
-
Rafael Espindola authored
llvm-svn: 239859
-
Rafael Espindola authored
llvm-svn: 239858
-
- Jun 16, 2015
-
-
Richard Smith authored
Previously we'd complain about redefinition of default arguments when we instantiated a class with a friend template that inherits its default argument, because we propagate the default template arguemnt onto the friend when we reload the AST. llvm-svn: 239857
-
Simon Atanasyan authored
llvm-svn: 239856
-
Simon Pilgrim authored
This patch enables support for the conversion of v2i32 to v2f64 to use the CVTDQ2PD xmm instruction and stay on the SSE unit instead of scalarizing, sign extending to i64 and using CVTSI2SDQ scalar conversions. Differential Revision: http://reviews.llvm.org/D10433 llvm-svn: 239855
-
Jim Ingham authored
llvm-svn: 239854
-
Enrico Granata authored
Add a .parent property to SBFrame's Python interface which allows easy access to the caller frame of the current frame llvm-svn: 239853
-
Douglas Gregor authored
While the rest of the Objective-C metadata seems to honor objc_runtime_name, the encoding strings produced by, e.g., @encode and property meta, were not. Fixes rdar://problem/21408305. llvm-svn: 239852
-
Enrico Granata authored
No test because I did not see this happen - it has been found by code inspection as a response to seeing crash logs about this llvm-svn: 239851
-
Sanjay Patel authored
...because I see 'StoreBW' and read it as 'store bandwidth' llvm-svn: 239850
-
Philip Reames authored
The original change broke clang side tests. I will be submitting those momentarily. This change includes post commit feedback on the original change from from Pete Cooper. Original Submission comments: If a parameter to a function is known non-null, use the existing parameter attributes to record that fact at the call site. This has no optimization benefit by itself - that I know of - but is an enabling change for http://reviews.llvm.org/D9129. Differential Revision: http://reviews.llvm.org/D9132 llvm-svn: 239849
-
Philip Reames authored
llvm-svn: 239848
-
Sanjay Patel authored
llvm-svn: 239847
-