mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	Add a unit test to verifies that attribute uniquing works so it doesn't break again.
The folding set details can be subtle and broke twice in the last couple of weeks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172313 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		
							
								
								
									
										34
									
								
								unittests/IR/AttributesTest.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								unittests/IR/AttributesTest.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | //===- llvm/unittest/IR/AttributesTest.cpp - Attributes unit tests --------===// | ||||||
|  | // | ||||||
|  | //                     The LLVM Compiler Infrastructure | ||||||
|  | // | ||||||
|  | // This file is distributed under the University of Illinois Open Source | ||||||
|  | // License. See LICENSE.TXT for details. | ||||||
|  | // | ||||||
|  | //===----------------------------------------------------------------------===// | ||||||
|  |  | ||||||
|  | #include "llvm/IR/Attributes.h" | ||||||
|  | #include "llvm/IR/LLVMContext.h" | ||||||
|  | #include "gtest/gtest.h" | ||||||
|  | using namespace llvm; | ||||||
|  |  | ||||||
|  | namespace { | ||||||
|  |  | ||||||
|  | TEST(Attributes, Uniquing) { | ||||||
|  |   LLVMContext C; | ||||||
|  |  | ||||||
|  |   Attribute AttrA = Attribute::get(C, Attribute::AlwaysInline); | ||||||
|  |   Attribute AttrB = Attribute::get(C, Attribute::AlwaysInline); | ||||||
|  |   EXPECT_EQ(AttrA, AttrB); | ||||||
|  |  | ||||||
|  |   AttributeWithIndex AWIs[] = { | ||||||
|  |     AttributeWithIndex::get(C, 1, Attribute::ZExt), | ||||||
|  |     AttributeWithIndex::get(C, 2, Attribute::SExt) | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   AttributeSet SetA = AttributeSet::get(C, AWIs); | ||||||
|  |   AttributeSet SetB = AttributeSet::get(C, AWIs); | ||||||
|  |   EXPECT_EQ(SetA, SetB); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | } // end anonymous namespace | ||||||
| @@ -5,6 +5,7 @@ set(LLVM_LINK_COMPONENTS | |||||||
|   ) |   ) | ||||||
|  |  | ||||||
| set(IRSources | set(IRSources | ||||||
|  |   AttributesTest.cpp | ||||||
|   ConstantsTest.cpp |   ConstantsTest.cpp | ||||||
|   DominatorTreeTest.cpp |   DominatorTreeTest.cpp | ||||||
|   IRBuilderTest.cpp |   IRBuilderTest.cpp | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user