diff --git a/quic/core/batch_writer/quic_batch_writer_buffer.h b/quic/core/batch_writer/quic_batch_writer_buffer.h
index b55e63c..88183f3 100644
--- a/quic/core/batch_writer/quic_batch_writer_buffer.h
+++ b/quic/core/batch_writer/quic_batch_writer_buffer.h
@@ -5,10 +5,10 @@
 #ifndef QUICHE_QUIC_PLATFORM_IMPL_BATCH_WRITER_QUIC_BATCH_WRITER_BUFFER_H_
 #define QUICHE_QUIC_PLATFORM_IMPL_BATCH_WRITER_QUIC_BATCH_WRITER_BUFFER_H_
 
+#include "absl/base/optimization.h"
 #include "net/third_party/quiche/src/quic/core/quic_circular_deque.h"
 #include "net/third_party/quiche/src/quic/core/quic_linux_socket_utils.h"
 #include "net/third_party/quiche/src/quic/core/quic_packet_writer.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_ip_address.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h"
 
@@ -86,7 +86,7 @@
   // Whether the invariants of the buffer are upheld. For debug & test only.
   bool Invariants() const;
   const char* buffer_end() const { return buffer_ + sizeof(buffer_); }
-  QUIC_CACHELINE_ALIGNED char buffer_[kBufferSize];
+  ABSL_CACHELINE_ALIGNED char buffer_[kBufferSize];
   QuicCircularDeque<BufferedWrite> buffered_writes_;
 };
 
diff --git a/quic/core/crypto/aead_base_encrypter.cc b/quic/core/crypto/aead_base_encrypter.cc
index 3b82755..b87ea50 100644
--- a/quic/core/crypto/aead_base_encrypter.cc
+++ b/quic/core/crypto/aead_base_encrypter.cc
@@ -10,7 +10,6 @@
 #include "third_party/boringssl/src/include/openssl/err.h"
 #include "third_party/boringssl/src/include/openssl/evp.h"
 #include "net/third_party/quiche/src/quic/core/quic_utils.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
 
@@ -136,7 +135,7 @@
   }
   // TODO(ianswett): Introduce a check to ensure that we don't encrypt with the
   // same packet number twice.
-  QUIC_ALIGNED(4) char nonce_buffer[kMaxNonceSize];
+  alignas(4) char nonce_buffer[kMaxNonceSize];
   memcpy(nonce_buffer, iv_, nonce_size_);
   size_t prefix_len = nonce_size_ - sizeof(packet_number);
   if (use_ietf_nonce_construction_) {
diff --git a/quic/core/quic_arena_scoped_ptr.h b/quic/core/quic_arena_scoped_ptr.h
index 92da3db..fdd0c29 100644
--- a/quic/core/quic_arena_scoped_ptr.h
+++ b/quic/core/quic_arena_scoped_ptr.h
@@ -13,7 +13,6 @@
 
 #include <cstdint>  // for uintptr_t
 
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_export.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
 
@@ -21,7 +20,7 @@
 
 template <typename T>
 class QUIC_NO_EXPORT QuicArenaScopedPtr {
-  static_assert(QUIC_ALIGN_OF(T*) > 1,
+  static_assert(alignof(T*) > 1,
                 "QuicArenaScopedPtr can only store objects that are aligned to "
                 "greater than 1 byte.");
 
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 16145d1..155e76d 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -13,6 +13,7 @@
 
 #include "absl/base/attributes.h"
 #include "absl/base/macros.h"
+#include "absl/base/optimization.h"
 #include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/crypto/crypto_framer.h"
 #include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake.h"
@@ -37,7 +38,6 @@
 #include "net/third_party/quiche/src/quic/core/quic_types.h"
 #include "net/third_party/quiche/src/quic/core/quic_utils.h"
 #include "net/third_party/quiche/src/quic/core/quic_versions.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_client_stats.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
@@ -1499,7 +1499,7 @@
   } else if (packet.length() <= kMaxIncomingPacketSize) {
     // The optimized decryption algorithm implementations run faster when
     // operating on aligned memory.
-    QUIC_CACHELINE_ALIGNED char buffer[kMaxIncomingPacketSize];
+    ABSL_CACHELINE_ALIGNED char buffer[kMaxIncomingPacketSize];
     if (packet_has_ietf_packet_header) {
       rv = ProcessIetfDataPacket(&reader, &header, packet, buffer,
                                  ABSL_ARRAYSIZE(buffer));
diff --git a/quic/core/quic_one_block_arena.h b/quic/core/quic_one_block_arena.h
index 41842f3..d821803 100644
--- a/quic/core/quic_one_block_arena.h
+++ b/quic/core/quic_one_block_arena.h
@@ -44,7 +44,7 @@
   // Actual storage.
   // Subtle/annoying: the value '8' must be coded explicitly into the alignment
   // declaration for MSVC.
-  QUIC_ALIGNED(8) char storage_[ArenaSize];
+  alignas(8) char storage_[ArenaSize];
   // Current offset into the storage.
   uint32_t offset_;
 };
@@ -57,7 +57,7 @@
 QuicArenaScopedPtr<T> QuicOneBlockArena<ArenaSize>::New(Args&&... args) {
   DCHECK_LT(AlignedSize<T>(), ArenaSize)
       << "Object is too large for the arena.";
-  static_assert(QUIC_ALIGN_OF(T) > 1,
+  static_assert(alignof(T) > 1,
                 "Objects added to the arena must be at least 2B aligned.");
   if (QUIC_PREDICT_FALSE(offset_ > ArenaSize - AlignedSize<T>())) {
     QUIC_BUG << "Ran out of space in QuicOneBlockArena at " << this
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index 3b367d3..12b7e2d 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -12,6 +12,7 @@
 #include <utility>
 
 #include "absl/base/macros.h"
+#include "absl/base/optimization.h"
 #include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/crypto/crypto_protocol.h"
 #include "net/third_party/quiche/src/quic/core/frames/quic_frame.h"
@@ -24,7 +25,6 @@
 #include "net/third_party/quiche/src/quic/core/quic_types.h"
 #include "net/third_party/quiche/src/quic/core/quic_utils.h"
 #include "net/third_party/quiche/src/quic/core/quic_versions.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_exported_stats.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
@@ -469,7 +469,7 @@
     return;
   }
 
-  QUIC_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize];
+  ABSL_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize];
   QuicOwnedPacketBuffer external_buffer(delegate_->GetPacketBuffer());
 
   if (external_buffer.buffer == nullptr) {
@@ -593,7 +593,7 @@
                 << ": " << SerializedPacketFateToString(packet_.fate) << " of "
                 << EncryptionLevelToString(packet_.encryption_level);
 
-  QUIC_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize];
+  ABSL_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize];
   QuicOwnedPacketBuffer packet_buffer(delegate_->GetPacketBuffer());
 
   if (packet_buffer.buffer == nullptr) {
diff --git a/quic/core/quic_packet_reader.h b/quic/core/quic_packet_reader.h
index 86eaa0e..6edf1f1 100644
--- a/quic/core/quic_packet_reader.h
+++ b/quic/core/quic_packet_reader.h
@@ -7,11 +7,11 @@
 #ifndef QUICHE_QUIC_CORE_QUIC_PACKET_READER_H_
 #define QUICHE_QUIC_CORE_QUIC_PACKET_READER_H_
 
+#include "absl/base/optimization.h"
 #include "net/third_party/quiche/src/quic/core/quic_clock.h"
 #include "net/third_party/quiche/src/quic/core/quic_packets.h"
 #include "net/third_party/quiche/src/quic/core/quic_process_packet_interface.h"
 #include "net/third_party/quiche/src/quic/core/quic_udp_socket.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h"
 
@@ -51,10 +51,10 @@
       bool prefer_v6_ip);
 
   struct QUIC_EXPORT_PRIVATE ReadBuffer {
-    QUIC_CACHELINE_ALIGNED char
+    ABSL_CACHELINE_ALIGNED char
         control_buffer[kDefaultUdpPacketControlBufferSize];  // For ancillary
                                                              // data.
-    QUIC_CACHELINE_ALIGNED char packet_buffer[kMaxIncomingPacketSize];
+    ABSL_CACHELINE_ALIGNED char packet_buffer[kMaxIncomingPacketSize];
   };
 
   QuicUdpSocketApi socket_api_;
diff --git a/quic/core/quic_utils.cc b/quic/core/quic_utils.cc
index b411e11..9def438 100644
--- a/quic/core/quic_utils.cc
+++ b/quic/core/quic_utils.cc
@@ -10,12 +10,12 @@
 #include <string>
 
 #include "absl/base/macros.h"
+#include "absl/base/optimization.h"
 #include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/quic_connection_id.h"
 #include "net/third_party/quiche/src/quic/core/quic_constants.h"
 #include "net/third_party/quiche/src/quic/core/quic_types.h"
 #include "net/third_party/quiche/src/quic/core/quic_versions.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
@@ -265,7 +265,7 @@
     // it to the hardware prefetcher after that.
     QuicPrefetchT0(next_base);
     if (iov[iovnum + 1].iov_len >= 64) {
-      QuicPrefetchT0(next_base + QUIC_CACHELINE_SIZE);
+      QuicPrefetchT0(next_base + ABSL_CACHELINE_SIZE);
     }
   }
 
diff --git a/quic/platform/api/quic_aligned.h b/quic/platform/api/quic_aligned.h
deleted file mode 100644
index ecfa649..0000000
--- a/quic/platform/api/quic_aligned.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef QUICHE_QUIC_PLATFORM_API_QUIC_ALIGNED_H_
-#define QUICHE_QUIC_PLATFORM_API_QUIC_ALIGNED_H_
-
-#include "net/quic/platform/impl/quic_aligned_impl.h"
-
-#define QUIC_ALIGN_OF QUIC_ALIGN_OF_IMPL
-#define QUIC_ALIGNED(X) QUIC_ALIGNED_IMPL(X)
-#define QUIC_CACHELINE_ALIGNED QUIC_CACHELINE_ALIGNED_IMPL
-#define QUIC_CACHELINE_SIZE QUIC_CACHELINE_SIZE_IMPL
-
-#endif  // QUICHE_QUIC_PLATFORM_API_QUIC_ALIGNED_H_
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h
index 8b53f8f..0224235 100644
--- a/quic/test_tools/quic_test_utils.h
+++ b/quic/test_tools/quic_test_utils.h
@@ -1991,7 +1991,7 @@
 
 class TestPacketWriter : public QuicPacketWriter {
   struct PacketBuffer {
-    QUIC_CACHELINE_ALIGNED char buffer[1500];
+    ABSL_CACHELINE_ALIGNED char buffer[1500];
     bool in_use = false;
   };
 
